计算机汇编中两个无符号数相减且结果为负,该如何表示?

1个回答

  • mov al,1

    mov ah,2

    sub al,ah

    以上三条指令执行后AL保存了1-2的结果,用16进制表示是FF

    SUB指令在汇编中是两意的,可以看成有符号运算,也可以看成无符号运算

    OF记录有符号运算时,结果是否可以直接作为最终结果,

    CF记录无符号运算时,结果是否可以直接作为最终结果,

    如果你把SUB看成无符号运算,1-2=255错误,所以CF=1、ZF=0

    如果你把SUB看成有符号运算,1-2=-1正确,所以OF=0、SF=1