我对这个问题感到困惑:指令后寄存器0中存储的值是多少“LEA R0,A"
被处决了吗?为什么答案是x370C?我认为应该将A的地址加载到R0中?如果是这样我们怎么知道地址?有人可以帮忙吗?非常感谢!
.ORIG X3700
LEA R0, A
LDI R2, C LDR R3, R0, 2
AND R1, R1, #0
IN
ST R0, D
JSR F
HALT
F LD R1, B
ADD R1, R1, #1
BRp F
RET
A .FILL X1234
B .FILL X370B
C .FILL X370C
D .BLKW 2
E .STRINGZ "ABCD"
G .FILL X1234
.END
代码的由来是x3700
,并且您有 12 条指令,因此地址A
将x3700 + x0C = x370C
。正如你所猜测的,LEA R0,A
加载地址A
into R0
, so R0
将包含x370C
第一条指令执行后。
.ORIG X3700
3700 LEA R0, A
3701 LDI R2, C
3702 LDR R3, R0, 2
...
370b RET
370c A .FILL X1234
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)