LC-3 汇编器必须能够将指令的助记符映射到其二进制操作码中。例如,给定一个 ADD,它必须生成二进制模式 0001。
用户必须输入 LC-3 汇编语言助记符,然后程序显示其二进制操作码。
如果汇编语言助记符无效,则会显示错误消息。
所以我正在用 LC-3 汇编语言编写 LC-3 汇编器的开头,只处理助记符 -> 操作码映射,而不是操作数。有没有办法做到这一点而无需 bruce 强制?也就是说,不必将每个助记词都写入内存。
.ORIG x3000
AND R0, R0, #0
IN
LD R1, A
ADD R1, R1, R0
BRz ND
LD R1, B
ADD R1, R1, R0
BRz ZERO
ND AND R0, R0, #0
IN
LD R1, N
ADD R1, R1, R0
BRz ZZZO
BRnp
ZZZO AND R0, R0, #0
LD R0, N1
ZERO AND R0, R0, #0
OUT
HALT
A .FILL x8041
B .FILL x8042
D .FILL x8044
E .FILL x8045
I .FILL x8049
J .FILL x804A
M .FILL x804D
N .FILL x804E
N1 .FILL x
O .FILL x804F
P .FILL x8050
R .FILL x8052
S .FILL x8053
T .FILL x8054