写一个LC-3子程序,用于打印N次 "Hello"。写一个主程序,从键盘输入次数“N”,调用子程序,然后输出N次 "Hello"。并告诉我如何输入
时间: 2024-02-05 20:14:25 浏览: 94
以下是LC-3子程序打印“Hello”:
```
Hello .STRINGZ "Hello\n"
PrintLoop ADD R1, R1, #1
BRz EndPrint
LD R0, Hello
PUTS
BRnzp PrintLoop
EndPrint RET
```
主程序可以这样写:
```
.ORIG x3000
LEA R1, N
GETC
OUT
IN
LD R2, ASCII
ADD R0, R0, R2
LDI R2, DIGIT
ADD R2, R2, R0
LD R0, R2
OUT
LD R0, R2
NOT
ADD R0, R0, #1
ADD R1, R1, R0
JSR PrintHello
HALT
ASCII .FILL x30
DIGIT .FILL x3100
N .FILL #0
PrintHello JSR R6, Hello
RET
.END
```
输入次数的方式是,在程序开始后,在“N”的地址处输入一个整数,以十六进制表示。例如,要打印10次“Hello”,则在地址“N”的位置输入“0x000A”。
阅读全文