有符号数加法问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:25:16
汇编语言中,两个有符号8位数相加,结果要求16位。
如果没有溢出,是否可以用CBW扩展?
如果溢出了(两个负数相加),高位怎么补充?是FF还是80?
比如计算80+80,和50+50,求解答过程,谢谢!

相加后,若没有溢出,可用cbw扩展;若有溢出,高字节用FF补充。如,

mov al,83h
add al,91h
jc Overflow
cbw
jmp NextOne
Overflow:
or ah,0ffh
NextOne:
.........

用debug一试便知。

如果没有溢出 可以用cbw扩展 是加上ff
如果溢出了 用cbw扩展也没有问题 扩展时会自动加上溢出位
举个例子
mov al,80h ;al=80h
cbw ;ax=ff80h
add al,255 ;al=7fh
cbw ;ax=007fh
楼主还不明白的话我可以给你做一个实验。。。。