标签无法识别
Label not recognised
我试图在 LC3 汇编中实现一个基本程序,但汇编程序似乎无法识别其中一个标签。我想知道为什么它不能只识别最后一个:
.ORIG 0x300
NUMBER: .FILL x0006
NUMBER2: .FILL x0003
R1MAGG: .FILL x0999
UGUALI: .FILL 0x500
R1MIN: .FILL x0001
LD R1, NUMBER
LD R2, NUMBER2
;I stored in R1 and R2 2 numbers
;Now I compare them
NOT R2, R2
ADD R2, R2, #1
ADD R3, R1, R2
BRp R1MAGGIORE
BRn R1MINORE
LD R4, UGUALI
JSR EOP
R1MAGGIORE:
LD R4, R1MAGG
JSR EOP
R1MINORE:
LD R4, R1MIN
JSR EOP
EOP:
.END
这是它返回的错误:第 28 行:“.END”处或之前的无法识别的操作码或语法错误
尝试 EOP: HALT
,然后在下一行尝试 .END
。怀疑它是在抱怨缺少指令,但无论如何你真的应该用 HALT
(陷阱)指令终止程序。
你确定要 .ORIG
在 0x300 而不是 x3000 吗?
您可以考虑将数据放在代码之后,以防止模拟器尝试执行您的数据。否则,您可以将 BR MAIN
作为第一条指令(即 before/in-front-of 数据),并将标签 MAIN:
放在程序第一条真正的指令处,这样它就会跳转您的数据以及您的程序起点。
我试图在 LC3 汇编中实现一个基本程序,但汇编程序似乎无法识别其中一个标签。我想知道为什么它不能只识别最后一个:
.ORIG 0x300
NUMBER: .FILL x0006
NUMBER2: .FILL x0003
R1MAGG: .FILL x0999
UGUALI: .FILL 0x500
R1MIN: .FILL x0001
LD R1, NUMBER
LD R2, NUMBER2
;I stored in R1 and R2 2 numbers
;Now I compare them
NOT R2, R2
ADD R2, R2, #1
ADD R3, R1, R2
BRp R1MAGGIORE
BRn R1MINORE
LD R4, UGUALI
JSR EOP
R1MAGGIORE:
LD R4, R1MAGG
JSR EOP
R1MINORE:
LD R4, R1MIN
JSR EOP
EOP:
.END
这是它返回的错误:第 28 行:“.END”处或之前的无法识别的操作码或语法错误
尝试 EOP: HALT
,然后在下一行尝试 .END
。怀疑它是在抱怨缺少指令,但无论如何你真的应该用 HALT
(陷阱)指令终止程序。
你确定要 .ORIG
在 0x300 而不是 x3000 吗?
您可以考虑将数据放在代码之后,以防止模拟器尝试执行您的数据。否则,您可以将 BR MAIN
作为第一条指令(即 before/in-front-of 数据),并将标签 MAIN:
放在程序第一条真正的指令处,这样它就会跳转您的数据以及您的程序起点。