0

在 Little Man computer (LMC) 中,条件 Branch on Positive (BRP) 包括零作为正数(我认为 number>0 是正数)。我知道 LMC 是一个富有想象力的概念,但我想知道是否有任何处理器(过时的或当前的)在正数上使用 Branch,包括零作为正数?

4

3 回答 3

0

你问的关于特定处理器的问题,我能找到的最接近的是 PDP-8 SPA – 在 AC ≥ 0 时跳过。我可以描述将零作为正数的理由。几乎所有现代计算机都对整数使用二进制补码格式。这使得最左边的位成为符号位。负数的符号位为 1,正数的符号位为 0。数字零表示为全零,包括符号位。因此,如果在测试符号位的二进制补码计算机上实现正分支,则数字零将为正。

或者,当 Madnick 博士设计 LMC 时,以及现在,计算器不会显示带有数字零的减号。

也就是说,我希望 Madnick 称它为 BNN:branch if not negative。

于 2014-07-09T19:30:06.403 回答
0

BRZ 将指令设置为专门在 Branch 为零时执行,但 BRP 确实将零计数为正数,因此解决此问题的唯一方法是将 BRP 指令与 BRZ 指令相矛盾。

于 2014-05-01T12:39:19.937 回答
0
  • PDP-11 具有 BPL

    BPL 分支 if plus (N=0)

    ...其中 N 是负标志(0 或 1),因此当测试值不为负时适用。

  • ARM 有 BPL

    bpl - 如果 pl(正或零)则分支

    ...这包括6502

    BPL - 如果为正则分支

    如果否定标志被清除,则将相对位移添加到程序计数器以导致分支到新位置。

于 2020-10-19T19:22:54.317 回答