有符号数加法问题

有符号数加法问题

ID:1832961

大小:31.00 KB

页数:2页

时间:2017-11-13

有符号数加法问题_第1页
有符号数加法问题_第2页
资源描述:

《有符号数加法问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、有符号数加法问题问题:两个8位数有符号相加,结果要求是16位。解题思路:如果两个有符号数相加没有溢出,则将加法的结果通过CBW指令扩展成16位。如果加法产生了溢出,则判断加法是否产生了进位,如果没有产生进位,说明这两个有符号数都是正数,此时,在8位的结果前补上00H,将其变成16位的结果;如果产生了进位,说明这两个有符号数都是负数,此时,在8位结果前补上FFH,将其变成16位的结果。举例:l两个有符号数01H(真值为1)和02H(真值为2)做加法运算,因为-128≦1+2≦127,这说明两数相加不会产生溢出,加法的结果为

2、03H(真值为3),通过CBW指令进行扩展,得到16位的结果0003H(真值为3)。l两个有符号数F6H(真值为-10)和F5H(真值为-11)做加法运算,因为-128≦(-10)+(-11)≦127,这说明两数相加不会产生溢出,加法的结果为EBH(真值为-21),通过CBW指令进行扩展,得到16位的结果FFEBH(真值为-21)。l两个有符号数64H(真值为100)和65H(真值为101)做加法运算,因为100+101≧127,这说明两数相加后会产生溢出,加法的结果为C9H(真值为-55),此时加法没有产生进位,说明两

3、个加数都是正数,在C9H前补上00H得到16位的结果00C9H(真值为201)。l两个有符号数9CH(真值为-100)和9BH(真值为-101)做加法运算,因为(-100)+(-101)≦-128,这说明两数相加后会产生溢出,加法的结果为37H(真值为55),此时加法产生了进位,说明两个加数都是负数,在37H前补上FFH得到16位的结果FF37H(真值为-201)。通过程序解决该问题(被加数和加数分别放在AL和BL寄存器中,16位的结果放AX中)ADDAL,BLJOOVERFLOW;如产生溢出,则转移到OVERFLOWC

4、BW;该指令不会影响任何标志位JMPNEXTOVERFLOW:JCL1;产生进位说明两个数都是负数ANDAH,00HJMPNEXTL1:ORAH,FFHNEXT:…..

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。