-3

如果在 8 位寄存器中进行以下算术运算,进位标志 (CF)、溢出标志 (OF)、符号标志 (SF) 和零标志 (ZF) 将被设置为什么?

0xFE + 0xFB

  1. CF=1,OF=0,SF=1,ZF=0
  2. CF=1,OF=1,SF=0,ZF=0
  3. CF=1,OF=0,SF=1,ZF=1
  4. CF=1,OF=1,SF=1,ZF=0
  5. 以上都不是。

谢谢

来自 William Stallings 的练习题 - 计算机组织和架构。

4

1 回答 1

0

CF = 1因为有溢出(无符号结果是 0x1F9 不适合 8 位)

OF = 0因为我们加了2个负数,结果也是负数

SF = 1因为结果是否定的(结果的第 7 位被设置)

ZF = 0因为结果不为零

所以答案是 1。另见关于程序集 CF(Carry) 和 OF(Overflow) 标志

于 2018-08-15T11:47:15.660 回答