BR在LC-3中检查哪个寄存器

时间:2018-02-01 00:06:44

标签: branch lc3

标题几乎解释了它。我认为BR会检查最后修改过的寄存器,但我只是想确认一下。例如,这里有一些代码可以将R3中的4位向左移位。

1. .ORIG x3000 2. AND R2, R2, #0 3. ADD R2, R2, #4 4. LOOP BRz DONE 5. ADD R2, R2, #-1 6. ADD R3, R3, R3 7. BR LOOP 8. DONE HALT 9. .END

这会产生无限循环,我认为正确的代码应该反转第5行和第6行。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:0)

BR检查条件代码寄存器。

条件代码寄存器在任何直接写入寄存器的指令上被修改。

在LC-3中,这些指令是ADD,AND,NOT,LEA,LD,LDR和LDI

是的,应该交换第5和第6行。