LC-3汇编程序必须能够将指令的助记符映射到其二进制操作码中。例如,给定ADD,它必须生成二进制模式0001。
用户必须键入LC-3汇编语言助记符,然后程序显示其二进制操作码。
如果汇编语言助记符无效,则会显示一条错误消息。
所以我用LC-3汇编语言编写了LC-3汇编程序的开始,只处理助记符->操作码映射,而不是操作数。有没有办法做到这一点而又不强制使用它?也就是说,不必将每个助记符写入内存。
(相关:Difference between: Opcode, byte code, mnemonics, machine code and assembly)
.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