LC-3 只使用寄存器的操作数

LC-3 Operands that only use registers

嗨,我有一个简短的问题

以下哪条 LC-3 指令只能有寄存器中的操作数(即不能有 立即数或内存操作数)?

一个。添加 b。不是 c。 LD d。和

据我所知,这不是 ADD 和 AND 使用寄存器以及立即值。虽然 LD 有 pcoffset?所以我想知道这是否正确?

如果您查找 LC-3 的 NOT 指令,您会看到操作码采用以下格式:

opcode   destination-reg   source-reg
 1001       xxx                yyy      111111

或:

1001xxxyyy111111

ADD 采用以下形式:

0001xxxyyy000zzz for register values
0001xxxyyy1zzzzz for immediate values

AND 采用以下形式:

0101xxxyyy000zzz for register values
0101xxxyyy1zzzzz for immediate values

LD 需要一个寄存器来加载到内存中:

0010xxxyyyyyyyyy

如果把偏移量算作一个操作数,那么答案是NOT和LD,否则就是NOT。