热门问题
时间线
聊天
视角
负旗标
来自维基百科,自由的百科全书
Remove ads
在中央处理器里,负旗标(negative flag)或是符号旗标(sign flag)是状态寄存器里的一个比特,说明上一个数学运算的结果为负。在补码表示法下,符号比特(最高有效位)为1表示数值为负。
例如,在8位有号数系统中,-37用二进制表示,会是1101 1011(符号比特为1),而+37则会是0010 0101(符号比特为0)。
许多处理器架构下都有负旗标,像是MOS 6502、英特尔8051、Atmel AVR指令集、ARM等。
在X86处理器中,负旗标会依以下指令的结果而定(参考Intel 80386手册[1]):
- 加减法运算
- 比较指令(类似于减法,但不存储结果)
- 比特逻辑指令:XOR,AND,OR。
- TEST指令:类似AND,但不存储结果。
对于比特逻辑指令而言,数值的正负号没有意义,因此也有些微处理器不会针对比特逻辑指令调整负旗标。
Remove ads
参考资料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads