如何在LC3中使用nzp = 000

时间:2014-03-26 15:17:00

标签: lc3

我尝试用x0000BRnzp=0来表示0

我在模拟器中写了BR #0

而不是在模拟器上给我x0000, 我得到0x0E00,这意味着nzp111

这样做的正确方法是什么?

3 个答案:

答案 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完全相同,这就是您在汇编代码中看到的原因。