2013-11-28 120 views
1

如何使用MOVE模拟LEA指令?这可能吗?我已经使用x86汇编和MOV指令只是复制adddress,如果它是一个符号(不知道它是否依赖于程序集)。但在6800 MOVE看起来像表现不同,例如,在以下指令D1A1具有不同的值。 LEA指令如何工作?以及如何模拟?即做什么LEA不使用它。我认为,与MOVE和其他人。另外,事实上,MOVED1,它似乎不是标签的十六进制值。如何使用MOVE模拟LEA指令?

MOVE T(PC),D1 
    LEA T,A1 
+0

MOVEA.L T,A1'怎么样? – Michael

+0

没有任何变化。同样的行为。寄存器中的值相同:与其他值不同。 –

+1

糟糕。这应该是'MOVEA.L#T,A1'。或者把地址放在一个数据寄存器中:'MOVE.L#T,D1'(注意'MOVE'影响一些条件标志,而'MOVEA'和'LEA'则不)。 – Michael

回答

3

对于地址寄存器:

MOVEA.L #T,A<n> 

对于数据寄存器:

MOVE.L #T,D<n> 

注意MOVE将更新一些条件标志,既不LEA也不MOVEA确实的。

+0

我将使用MOVEA而不是。非常感谢! –