lc3 - LC3 程序集编程错误:常数超出允许范围
问题描述
我有一个名为 a.asm 的简单演示汇编程序:
bash-3.2$ 猫 a.asm
; demo program:
; R1 contains INPUT A, for example, x0001
; R2 contains INPUT B, for example, #-1 (xFFFF)
; R3 contains the result of subtraction of two numbers
.ORIG x3000 ; Program storage location
LD R1,INPUT1 ; R1 contains input number
LD R2,INPUT2 ; R2 contains -1
ADD R3,R1,R2 ; R3 contains result of A-B
TRAP x25
INPUT1 .FILL x0001 ; Input #1
INPUT2 .FILL xFFFF ; 2's complement of 1 (i.e. #-1)
.END
bash-3.2$ lc3as a.asm
起步阶段 1
14:常数超出允许范围
第一次通过时发现 1 个错误。
重击 3.2$
如果我将 xFFFF 更改为 #-1,错误就会消失并且程序按预期工作:
bash-3.2$ lc3as a.asm
起步阶段 1
第一次通过时发现 0 个错误。
开始通行证 2
第二遍发现 0 个错误。
重击 3.2$
这行有什么问题:“INPUT2 .FILL xFFFF”?
解决方案
推荐阅读
- c - 比较每个字符的字符串字符,按长度拆分字符串也可以
- python - 在第二个数组中查找数组所有元素的索引
- android - 当从状态栏点击通知时,在 Android 应用程序的 MainActivity 中读取 fcm 通知标题和文本?
- python - 在重叠散点图中,如何优先考虑特定数据?
- r - R DPLYR 的阈值
- javascript - 将鼠标悬停在该元素上时如何不断触发事件?
- python - 带有无头 chromedriver 的 Selenium 无法抓取 Web 数据?
- javascript - 如何使用javascript进行拖放
- java - 如何使用java mail api发送带有星号的gmail
- forms - 在 Symfony 上的我的 ThreadType 中使用 CollectionType 为每条消息显示一个字段,而不仅仅是第一个