请问到底什么时候才应该补码?
我看到了王爽的of标记寄存器.看到某部份开始不太明白了,.
原文:
mov al,98
add al,99
其结果al=C5h,这里我可以理解.然后它又说这次是有符号运算,所以要给al的值即C5h进行补码,那么真正的结果是-59.
而-59这个运算结果显然是错误的,都归因"溢出"所致.
然后我明白了,只要是有符号运算,必须把结果给补码才能得到正确的运算结果.
可我接下去看,原文又出现一个新例子:
mov al,0f0h
add al,088h
它说al=78h,还说78h表示有符号数120.
这里我有一个问题,为什么在这一次的有符号运算中,它们不把al的值78h进行补码呢?
我认为78h表示无符号数应该是120.
78h表示有符号数应该是-136.
[ 本帖最后由 ghhr6 于 2014-11-30 18:10 编辑 ]








,你自己拿笔算算,看你的结果c5h,和78h知道al是八位的,98 的二进制为0110 0010 99的为0110 0011 相加的 1110 0101 你自己算是是多少啊 224吧,八位只能表示-128 - 127,你说结果怎么表示啊,ofoh 的二进制0000 0000 1111 0000 088h为 0000 0000 1000 1000 相加结果为 0000 0001 0111 1000 al是八位的吧 0111 1000