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

问题描述:

计算机汇编中两个无符号数相减且结果为负,该如何表示?
比如A为1 B为2 A-B=-1 如此相减的结果计算机中如何表示,OF CF ZF SF位都为多少?还是这种算法是错误的?
一条指令为 SUB A B 是不是默认为有符号数?
1个回答 分类:数学 2014-09-23

问题解答:

我来补答
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
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么