【问题标题】:CF, OF in flag register during data overflow数据溢出时标志寄存器中的 CF、OF
【发布时间】:2020-03-04 04:35:06
【问题描述】:

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

mov al,-128
sub al,128

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

【问题讨论】:

    标签: assembly x86 integer-overflow emu8086 eflags


    【解决方案1】:

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

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

    【讨论】:

    • 好的,谢谢。当我“sub al,128”时,这里的 128 已经溢出为 -128,因为 al 被初始化为有符号字节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2011-11-04
    • 2018-01-31
    相关资源
    最近更新 更多