装配LC3和一个奇怪的JSR命令

时间:2018-02-04 07:30:49

标签: assembly lc3

我正在尝试破译一些基本的LC3代码而且我被一条特定的线路抛弃了..

地址

x3122 : 0100 01010 0110 0110

现在我明白这是一个JSRR操作码,但我被操作码后面的内容,特别是第10和第9位抛弃了。这些位不应该是0吗?

1 个答案:

答案 0 :(得分:0)

嗯,你给的二进制是17位是一个错误吗?

我认为你的意思是

0100010100110011

它确实是一个JSRR,因为操作码是0100而位11是0

之后是2个未使用的位,3个用于基址寄存器,后面是另外6个未使用的位。这两个未使用的部分都应该全为零。

0100 0 10 100 110011

如果我将这条指令反汇编回装配语言,那将是JSRR R4

然而,一些lc-3模拟器可能会将未使用的位不符合ISA的指令(例如您发布的指令)视为错误,因为汇编器只会将未使用的位填充为0(并且在NOT指令那些未使用的位是1)。