Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 LC-3 编写程序集。我有一个寄存器 R1,它指向一个特定的地址。如何将该地址的值更改为 0?不幸的是,这很快就会到期,因此我们将不胜感激!谢谢!
PS:如果你不了解LC-3,这里有15条指令:ADD, AND, BR, JMP, JSR, JSRR, LD, LDI, LDR, LEA, NOT, RET, RTI, ST, STI, STR,陷阱
您首先要清零另一个寄存器(例如,R0)。由于没有清除寄存器的指令,一个明显的选择是将该寄存器与立即值 0 进行“与”运算(另一种是从寄存器本身中减去该寄存器)。同样,指令集没有简单的“间接存储”,但它确实具有“带偏移的间接存储”(STR),因此您的源寄存器将是您清除的那个,目标寄存器将是 R1,并且偏移量为 0 (#0)。