在LC-3汇编中编写LC-3汇编器(仅处理助记符->操作码,而不是操作数)

时间:2018-11-03 23:22:16

标签: assembly lc3 lc3-trap

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

0 个答案:

没有答案