You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LC-3汇编代码报错求助:在线模拟器提示无效数字字面量'99'

LC-3汇编代码错误排查:无效数字字面量'99'

你的LC-3汇编代码运行时报错:

哦不!你的汇编代码存在错误:
第34行:无效数字字面量: '99'

错误原因

LC-3汇编器默认识别十六进制数字,十进制数字必须以#前缀标识。直接写99会被当作十六进制解析,但十六进制的有效字符仅为0-F,因此触发无效字面量错误。

修正方案

将第34行的storeString .blkw 99修改为以下两种写法之一:

  • 明确指定十进制:storeString .blkw #99
  • 使用十六进制等价值:storeString .blkw x63(十进制99转换为十六进制是0x63)

修正后的完整代码

.orig   x3000
Lea r1, storeString

Lea r0, Student
puts

Lea r0, Userinput
puts

LOOP
getc

out
str r0, r1, 0
add r1, r1, 1
add r0, r0, -10

brz OUTSIDE

brnzp LOOP

OUTSIDE

Lea r0, Outputtext
puts

Lea r0, storeString
puts

Halt
Student .stringz "Francois Van Zyl"
Userinput .stringz "\n\nPlease enter a text: "
Outputtext .stringz "The text you have typed is: "
storeString .blkw #99  ; 或替换为x63

.end

额外说明

修正后代码可正常运行:通过getc读取用户输入字符,回显后存入storeString缓冲区,直到输入换行符(ASCII码10)时退出循环,最后输出存储的字符串。

内容的提问来源于stack exchange,提问作者sArwar sHafee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:24:20