我尝试用x0000
和BR
写nzp=0
来表示0
。
我在模拟器中写了BR #0
。
而不是在模拟器上给我x0000
,
我得到0x0E00
,这意味着nzp
是111
。
这样做的正确方法是什么?
答案 0 :(得分:1)
您可以执行NOP
,因为如果nzp=000
表示PC不会更改,那么您只需要传递此指令。
另一个选项是LABEL .fill x0000
,因为BR
nzp=0
和偏移0
的指令代码只是000
。
答案 1 :(得分:1)
你不能拥有nzp=000
。数字是负数,零或正数。
根据this course on LC3 from UPenn
LC-3有三个1位条件代码寄存器
- N - 否定
- Z - 零
- P - 正(大于零)
任何时候都会设置一个 基于改变寄存器的最后一条指令。
答案 2 :(得分:0)
BR
将汇总为branch-always,这与BRnzp
完全相同,这就是您在汇编代码中看到的原因。