【发布时间】:2017-12-14 00:23:30
【问题描述】:
您好,我的这段代码不会停止执行,我不知道为什么。有什么建议吗?
LEA R1, SOURCE
LEA R2, DEST
LOOP: LDR R0, R1, #0
STR R2, R0, #0
BRz DONE
ADD R1, R1, #1
ADD R2, R2, #1
BRnzp LOOP
DONE: LEA R0, DEST
TRAP x22 ; PUTS
TRAP x25 ; HALT
SOURCE .STRINGZ "\"My sources say no\""
DEST .BLKW #20
【问题讨论】:
-
LDR正在加载单词,您需要字节。请改用LDB/STB。您对商店的操作数也有误。此外,您有一个调试器/模拟器,所以使用它 找出代码损坏的原因。 -
LDB/STB 是 LC3-b 特定的。
-
是的,添加到我在 LC3 stringz 中的最后一条消息会用字符填充每个单词,所以这不是问题,但就像我说的 LDB/STB 是特定于 LC3-b 的,它与 ISA 略有不同香草LC3