跳转到内容

负旗标

本页使用了标题或全文手工转换
维基百科,自由的百科全书

中央处理器里,负旗标(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,但不存储结果。

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

参考资料

[编辑]