首页 > 解决方案 > 数据溢出时标志寄存器中的 CF、OF

问题描述

使用 Intel x86 / emu8086 仿真器,当具有以下值的字节溢出时:

mov al,-128
sub al,128

为什么CF是0,而OF也是0?谢谢

标签: assemblyx86integer-overflowemu8086eflags

解决方案


-128 和 128 在 8 位(2 的补码或无符号)中是相同的数字。即两个指令的立即数都是0x80.

x - x= 0,无进位(无符号)或溢出(有符号)。


推荐阅读