假设我们添加了以下两个寄存器:
R0 = 6DEE 8765 R1 = 3458 FFDD R0 + R1 = A2478742
假设我们使用2的补码符号约定,会设置什么标志?我知道会设置推翻,但“N”也会设置吗?此致
mwecs4sa1#
在所有支持标志的体系结构中,N或Negative标志只匹配最后计算的数字的最高有效位。此外,许多架构都有一个O或Overflow标志,用于告诉您最高有效位是否被上次操作更改。如果寄存器从正变为负,则O和N都将被设置。如果寄存器中的值在N之前和之后为负,则将设置该值,但不设置O。以此类推。溢出标志仅在使用有符号算术运算时有用。使用无符号算术运算时,使用C(Carry)标志,该标志在结果超过寄存器所能容纳的最大结果时通知您(32位为0xFFFF FFFF)。最后是Zzero标志,它告诉您结果是否为零。
N
Negative
O
Overflow
C
Carry
Z
zero
1条答案
按热度按时间mwecs4sa1#
在所有支持标志的体系结构中,
N
或Negative
标志只匹配最后计算的数字的最高有效位。此外,许多架构都有一个
O
或Overflow
标志,用于告诉您最高有效位是否被上次操作更改。如果寄存器从正变为负,则
O
和N
都将被设置。如果寄存器中的值在
N
之前和之后为负,则将设置该值,但不设置O
。以此类推。溢出标志仅在使用有符号算术运算时有用。使用无符号算术运算时,使用
C
(Carry
)标志,该标志在结果超过寄存器所能容纳的最大结果时通知您(32位为0xFFFF FFFF)。最后是
Z
zero
标志,它告诉您结果是否为零。