LC-3 组件 "Duplicate Label" 错误
LC-3 Assembly "Duplicate Label" Error
用汇编语言编写一个程序来打印输入的两个字符,首先比较它们并先打印具有较大 ASCII 代码的字符。我写了对我有意义的内容,但汇编器给我错误 "Duplicate label(R2)"。有谁知道为什么这行不通?
.orig 3000
GETC
LD R1,R0
GETC
LD R2,R0
NOT R0,R2
ADD R0,R0,#1
ADD R0,R1,R0
BRN #3
OUT R1
OUT R2
BRNZP #2
OUT R2
OUT R1
HALT
.end
还要补充一点,当我破解代码并删除带有 R2 的行时,它会为其他寄存器吐出错误。就像汇编程序将寄存器识别为标签一样。
LD R2,R0
你不要这样用LD。
语法为LD DR, Label
或LD DR, PCOffset9
还有
OUT R1
OUT是一个陷阱,打印出R0中的字符并且只打印出R0
也许汇编程序有一个错误,没有将这些错误标记为语法错误?
用汇编语言编写一个程序来打印输入的两个字符,首先比较它们并先打印具有较大 ASCII 代码的字符。我写了对我有意义的内容,但汇编器给我错误 "Duplicate label(R2)"。有谁知道为什么这行不通?
.orig 3000
GETC
LD R1,R0
GETC
LD R2,R0
NOT R0,R2
ADD R0,R0,#1
ADD R0,R1,R0
BRN #3
OUT R1
OUT R2
BRNZP #2
OUT R2
OUT R1
HALT
.end
还要补充一点,当我破解代码并删除带有 R2 的行时,它会为其他寄存器吐出错误。就像汇编程序将寄存器识别为标签一样。
LD R2,R0
你不要这样用LD。
语法为LD DR, Label
或LD DR, PCOffset9
还有
OUT R1
OUT是一个陷阱,打印出R0中的字符并且只打印出R0
也许汇编程序有一个错误,没有将这些错误标记为语法错误?