【问题标题】:LC 3 program not displaying outputLC 3 程序不显示输出
【发布时间】:2018-09-07 20:14:32
【问题描述】:

我正在尝试编写一个读取字符串并输出字符串的 lc 3 汇编语言程序。现在我很困惑为什么程序不会输出任何东西。我不确定我将字符串存储在内存中的算法是否不正确,或者我只是没有正确显示字符串。错误告诉我“预期的标签或 9 位签名的 pc 偏移,但找到了 lea。所以这意味着它不希望我使用 lea 对吗?但我不确定还能使用什么。任何帮助将不胜感激!

.ORIG X3000

LEA R0, prompt
PUTS

LEA R1,SPACE
loop:
GETC               ; input char
PUTC               ; store char
STR R0,R1,#0       ; store r1 in r0
ADD R1,R1,#1       ; points to next block
br loop

ld      r7,eol     ;check for eol 
add     r7,r7,r0  
brz 
lea r0,SPACE       ;displays output
puts

halt

;*************data**********************

SPACE  .blkw   20   
prompt .stringz "input string>> "
eol  .fill   xfff6

.end

【问题讨论】:

    标签: loops char lc3


    【解决方案1】:

    你的错误的原因在于这行代码

    brz lea r0,SPACE ;displays output

    您使用没有标签的 BR 指令跳转到?如果分支被占用,你想分支到哪里。

    您的代码中还有一个无限循环。在检查是否有 eol 字符之前,您会返回无条件循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多