我正在完成一项任务,目前我正陷入困境。 这是问题的一部分:
接受正好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个字符串。
答案 0 :(得分:1)
到目前为止,你已经接受了角色并制作了一个字符串。现在你只需要打印字符串。您可以通过向R0提供字符串的起始地址并调用PUTS陷阱来完成此操作。请注意,字符串的最后一个字符必须为NULL。所以,循环之后:
LEA R0, memorySpace
PUTS