【问题标题】:How do I print out a value in assembly language如何用汇编语言打印出一个值
【发布时间】:2014-05-05 02:03:42
【问题描述】:

我正在尝试从 LC3 中的变量打印 int "1"

我有:

计数器 .FILL #1

LD R1,计数器

PUTC

但这会打印“'0”(撇号零)

【问题讨论】:

  • 我没有使用 LC-3 的经验,但您可能想尝试以下几点: (1) 使用 R0 而不是 R1; (2)尝试x31(数字'1'的ASCII码)而不是#1

标签: variables assembly printing integer lc3


【解决方案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

【讨论】:

    猜你喜欢
    • 2010-12-27
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多