2011-02-23 37 views
0

我正在LC-3中編寫程序集。我有一個寄存器R1,它指向一個特定的地址。如何將該地址的值更改爲0?不幸的是,這很快就會到期,所以及時的幫助將不勝感激!謝謝! PS:如果你不知道LC-3,下面是15條指令:ADD,AND,BR,JMP,JSR,JSRR,LD,LDI,LDR,LEA,NOT,RET,RTI,ST, STI,STR,TRAP更改組件中特定地址的值

回答

1

你會開始調零另一個寄存器(例如,R0)。由於沒有清除寄存器的指令,因此一個明顯的選擇就是將立即值0註冊到的AND(另一個將從本身減去寄存器)。同樣,指令集沒有簡單的「存儲間接」,但它有一個「存儲間接偏移量」(STR),所以你的源寄存器將是你清除的那個,目標寄存器將是R1,並且偏移量將爲0(#0)。

+0

非常感謝!完美工作! – 2011-02-23 05:10:12

+0

你可以看看這個嗎? http://stackoverflow.com/questions/29708532/why-isnt-my-assembly-program-setting-r1-to-the-correct-value – committedandroider 2015-04-18 00:23:02