3

After instruction “LDR R3, R0, 2” is executed, the value stored in R3 is x370C.この命令で 2 が何を表しているのかわかりません。即時値のようには見えません。この時点で、R0 に x370C が含まれていることがわかりました。誰か助けてくれませんか?どうもありがとう!

.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
4

1 に答える 1

3

2 番目のパラメーターは、ロードされるベース アドレスのオフセットです。

ここに投稿するために写真を撮り始めて、良い説明をしましたが、興味深い講義ビデオを見つけました。言葉よりもはるかによく説明され、多くの時間を節約できます.

LC3 命令 - LD、LDR、LDI、LEA

このビデオでは、LC3 のロード命令の違いを説明し、それらの違いを強調しています。

あなたの例では:

あなたのデータがあります:

A .FILL X1234
B .FILL X370B
C .FILL X370C

コードの実行:

LEA R0, A      -- R0 has the address of A
LDI R2, C      -- R2 has value of which address C has
LDR R3, R0, 2  -- R3 has the value of C 
               -- because R0 has the address of A + 2 positions = C
于 2014-09-16T12:21:35.293 に答える