LC-3:如何将字符串保存到不同的寄存器?

时间:2018-04-18 06:34:18

标签: string assembly lc3

我对LC-3中的字符串有疑问。例如,我可以编写在R0中保存字符串的代码,一切正常。但是,当我更改寄存器时,控制台上不会打印任何内容或完全乱码。

例如,如果我将此代码放入模拟器中:

./gradlew lint

我得到回报:----停止处理器---- 如何使用保存在R3中的字符串打印“Hello World”? 非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

LC-3中的所有预定义TRAP指令(HALT除外)将使用R0。 TRAP x22(PUTS)将在R0中打印一个字符串。

如果你需要将一个寄存器中的值移动到另一个寄存器中,则lc-3没有专门的mov指令,而是可以使用ADD或AND指令执行此操作,有三种方法可以执行此操作。< / p>

ADD RX,RY,0

AND RX,RY,RY

AND RX,RY,-1

其中RX和RY是R0-R7。