Assembly 如何使用MOVE模拟LEA指令?
如何使用MOVE模拟Assembly 如何使用MOVE模拟LEA指令?,assembly,memory-address,mov,68000,easy68k,Assembly,Memory Address,Mov,68000,Easy68k,如何使用MOVE模拟LEA指令?这可能吗?我使用了x86汇编和MOV指令,如果它是一个符号,只需复制addAddress(不确定它是否依赖于汇编)。但是在6800MOVE中看起来行为不同,例如,在以下说明中D1和A1具有不同的值。LEA指令究竟是如何工作的?我怎样才能模拟呢?i、 例如,做LEA所做的事而不用它。我认为,随着移动和其他一些。另外,事实上,MOVE是在D1中添加的,它似乎不是标签的十六进制值 MOVE T(PC),D1 LEA T,A1 对于地址寄存器: MOVEA.L
LEA
指令?这可能吗?我使用了x86汇编和MOV
指令,如果它是一个符号,只需复制addAddress(不确定它是否依赖于汇编)。但是在6800MOVE
中看起来行为不同,例如,在以下说明中D1
和A1
具有不同的值。LEA
指令究竟是如何工作的?我怎样才能模拟呢?i、 例如,做LEA
所做的事而不用它。我认为,随着移动
和其他一些。另外,事实上,MOVE
是在D1
中添加的,它似乎不是标签的十六进制值
MOVE T(PC),D1
LEA T,A1
对于地址寄存器:
MOVEA.L #T,A<n>
MOVE.L #T,D<n>
MOVEA.L#T,A
对于数据寄存器:
MOVEA.L #T,A<n>
MOVE.L #T,D<n>
MOVE.L#T,D
请注意,
MOVE
将更新一些条件标志,而LEA
和MOVEA
都不会更新这些标志。关于MOVEA.L T,A1
的情况如何?没有任何更改。同样的行为。寄存器中的值相同:一个不同于另一个。Oops。这应该是MOVEA.L#T,A1
。或者将地址放入数据寄存器:MOVE.L#T,D1
(注意MOVE
影响一些条件标志,而MOVEA
和LEA
则不影响)。正是这样!你救了我一天。将其发布为我接受的答案,然后,MOVE
本身默认为什么MOVE.L
或MOVE.W
或MOVE.B
?我将使用MOVEA
而不是。非常感谢!