热门问题
时间线
聊天
视角

负旗标

来自维基百科,自由的百科全书

Remove ads

中央处理器里,负旗标(negative flag)或是符号旗标(sign flag)是状态寄存器里的一个比特,说明上一个数学运算的结果为负。在补码表示法下,符号比特英语Sign bit最高有效位)为1表示数值为负。

例如,在8位有号数系统中,-37用二进制表示,会是1101 1011(符号比特为1),而+37则会是0010 0101(符号比特为0)。

许多处理器架构下都有负旗标,像是MOS 6502英特尔8051Atmel AVR指令集英语Atmel AVR instruction setARM等。

X86处理器中,负旗标会依以下指令的结果而定(参考Intel 80386手册[1]):

  • 加减法运算
  • 比较指令(类似于减法,但不存储结果)
  • 比特逻辑指令:XOR,AND,OR。
  • TEST英语TEST (x86 instruction)指令:类似AND,但不存储结果。

对于比特逻辑指令而言,数值的正负号没有意义,因此也有些微处理器不会针对比特逻辑指令调整负旗标。

Remove ads

参考资料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads