BR在LC-3中检查哪个寄存器
Which register does BR check in LC-3
标题几乎解释了它。我认为 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 行颠倒过来。如果我错了,请纠正我。
BR 检查条件代码寄存器。
条件代码寄存器在任何直接写入寄存器的指令上被修改。
在 LC-3 中,这些指令将是 ADD、AND、NOT、LEA、LD、LDR 和 LDI
是的,第 5 行和第 6 行应该互换。
标题几乎解释了它。我认为 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 行颠倒过来。如果我错了,请纠正我。
BR 检查条件代码寄存器。
条件代码寄存器在任何直接写入寄存器的指令上被修改。
在 LC-3 中,这些指令将是 ADD、AND、NOT、LEA、LD、LDR 和 LDI
是的,第 5 行和第 6 行应该互换。