我正在尝试破译一些基本的LC3代码而且我被一条特定的线路抛弃了..
地址
x3122 : 0100 01010 0110 0110
现在我明白这是一个JSRR操作码,但我被操作码后面的内容,特别是第10和第9位抛弃了。这些位不应该是0吗?
答案 0 :(得分:0)
嗯,你给的二进制是17位是一个错误吗?
我认为你的意思是
0100010100110011
它确实是一个JSRR,因为操作码是0100而位11是0
之后是2个未使用的位,3个用于基址寄存器,后面是另外6个未使用的位。这两个未使用的部分都应该全为零。
0100 0 10 100 110011
如果我将这条指令反汇编回装配语言,那将是JSRR R4
然而,一些lc-3模拟器可能会将未使用的位不符合ISA的指令(例如您发布的指令)视为错误,因为汇编器只会将未使用的位填充为0(并且在NOT指令那些未使用的位是1)。