LC3 LEA指令和存储的值(LC3 LEA instruction and the value s

2019-10-21 00:03发布

什么是存储在寄存器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

Answer 1:

代码的起源是x3700 ,你有12条指令,这样的地址Ax3700 + x0C = x370C 。 正如你猜到了, LEA R0,A加载的地址AR0 ,使R0将包含x370C第一条指令执行之后。

        .ORIG X3700
3700     LEA R0, A
3701     LDI R2, C
3702     LDR R3, R0, 2 
         ...
370b     RET

370c     A .FILL X1234
         ...


文章来源: LC3 LEA instruction and the value stored