我对LC-3中的字符串有疑问。例如,我可以编写在R0中保存字符串的代码,一切正常。但是,当我更改寄存器时,控制台上不会打印任何内容或完全乱码。
例如,如果我将此代码放入模拟器中:
./gradlew lint
我得到回报:----停止处理器---- 如何使用保存在R3中的字符串打印“Hello World”? 非常感谢任何帮助!
答案 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。