2014-05-05 53 views
0

我试图打印INT “1”,从变量LC3如何打印出以汇编语言值

我:

.fill伪计数器#1

LD R1,COUNTER

PUTC

但这输出“0" (撇号零)

+0

我有LC-3没有经验,但在这里,你可能想尝试的几件事:(1)使用'R0',而不是'R1'; (2)尝试'x31'(数字'1'的ASCII码)而不是'#1'。 –

回答

1

要在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