Assembly LC3 LEA指令和存储的值

Assembly LC3 LEA指令和存储的值,assembly,load,cpu-registers,lc3,Assembly,Load,Cpu Registers,Lc3,我被这个问题弄糊涂了:在执行指令“LEA R0,A”之后,寄存器0中存储的值是多少?为什么答案是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

我被这个问题弄糊涂了:在执行指令“LEA R0,A”之后,寄存器0中存储的值是多少?为什么答案是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的地址加载到R0中,因此在执行第一条指令后,R0将包含x370C

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

370c     A .FILL X1234
         ...

没问题-我已回滚您的编辑,以使此问题和答案有用。如果您仍有问题,请随时开始新问题。您能看一下吗?它直接基于此问题