如何用汇编语言打印出一个值



我想打印int "1"从LC3

中的变量我

:

COUNTER .FILL #1

LD R1, COUNTER

PUTC

但是这个打印"'0"(撇号零)

要在lc3中打印,可以使用两个简单的系统例程。

1) PUTS - "将一串ASCII字符写入控制台显示。字符被包含在连续的内存位置中,每个内存位置一个字符,从R0中指定的地址开始。在内存位置"*

"出现x0000时,写入终止。

2) OUT -"在R0[7:0]中写入一个字符到控制台显示。"*

因为你只是打印一个字符,你可以像这样使用OUT例程:

COUNTER .FILL #1
LD R0, COUNTER
OUT

注意寄存器是R0,而不是R1。

您也可以在这里使用PUTS,但是PUTS将一直打印,直到在下一个内存位置找到x0000为止。所以对于一个字符,使用OUT更安全。

*见http://highered.mcgraw-hill.com/sites/dl/free/0072467509/104653/PattPatelAppA.pdf

最新更新