我有一个关于汇编语言的相当简单的问题。我们使用的SIC/XE架构基本上只是用于教育目的而已,但遵循其他架构的通用约定。现在回答我的问题和想法。算术汇编语言语法问题
假设符号ALPHA和BETA是源程序中的标签。 以下两个语句序列有什么区别?
A.) LDA ALPHA-BETA
B.) LDA ALPHA
SUB BETA
为了清楚起见,LDA将数据加载到寄存器A中,该寄存器用于算术运算。像SUB这样的操作,或ADD,默认情况下工作在寄存器A上,而不必声明它。
现在,乍一看,我假设A和B都是等价的。我的逻辑非常简单。将ALPHA和BETA的差值加载到A中,或者加载到A,ALPHA中,然后从寄存器A中的ALPHA中减去BETA中的值。我看起来完成了同样的事情?我错过了一些微不足道的细节,还是它看起来很简单?
这个玩具语言的手册说这个语句的含义是什么?我会猜测间接寻址。 – Davislor
LDA m,A获取内存中的数据(m..m + 2)。 – enigma