1

我正在做一项任务,我目前卡住了。这是问题的一部分:

正好接受 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 个字符串。

4

1 回答 1

1

到目前为止,您已经接受了字符并创建了一个字符串。现在您只需要打印字符串。为此,您可以向 R0 提供字符串的起始地址并调用 PUTS 陷阱。请注意,字符串的最后一个字符需要为 NULL。所以,在循环之后:

LEA R0, memorySpace
PUTS
于 2014-07-07T18:48:08.673 回答