LC-3从用户输入打印字符串

时间:2014-04-21 13:24:07

标签: lc3

我正在完成一项任务,目前我正陷入困境。 这是问题的一部分:

接受正好7个字符并将它们回显到控制台。 在7个字符后移动到下一行,无需等待返回/输入。

所以我做了一个循环,循环7次,获取输入并在屏幕上显示,并存储字符(我认为)。 但是我无法在下一行打印保存的字符串。

这是我目前的代码:

        LEA R2, memorySpace ; allocates memory to R2 for string storage
        LD  R1, upiLoop ; condition for loop (loops 7 times)
loop    
        GETC
        PUTC

STR     R0, R2, #0       ; r0 -> ( memory address stored in r2 + 0 )
ADD     R2, R2, #1       ; increments the memory pointer    


ADD     R1, R1, #-1 ; decrements loop
BRz     loop

upiLoop         .FILL 7
memorySpace .blkw 100   ; empty space to store string

我能做的只是看到我输入的字符.. 我想将下一行的字符打印为1个字符串。

1 个答案:

答案 0 :(得分:1)

到目前为止,你已经接受了角色并制作了一个字符串。现在你只需要打印字符串。您可以通过向R0提供字符串的起始地址并调用PUTS陷阱来完成此操作。请注意,字符串的最后一个字符必须为NULL。所以,循环之后:

LEA R0, memorySpace
PUTS