微型计算机原理与汇编语言第2章-2补码的加减运算.ppt
《微型计算机原理与汇编语言第2章-2补码的加减运算.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理与汇编语言第2章-2补码的加减运算.ppt(35页珍藏版)》请在三一办公上搜索。
1、例2.11 已知+51补=0011 0011B,+66补=0100 0010B,-51补=1100 1101B,-66补=1011 1110B 求+66补+51补=?+66补+-51补=?-66补+-51补=?,由于+66补+51补=(+66)+(+55)补=01110101B结果为正,因此(+66)+(+55)原=(+66)+(+55)补=01110101B其真值为+117,计算结果正确。,解:,由于+66补+51补=(+66)+(55)补=0000111B结果为正,因此(+66)+(55)原=(+66)+(55)补=00001111其真值为+15,计算结果正确。,由于-66补+-51补=1
2、0001011B=(-66)+(-55)补 结果为负,因此(-66)+(-55)原=(-66)+(-55)补补=11110101B其真值为-117,计算结果正确。,2.补码减法补码减法的运算规则为:变补:连同符号位在内,各位取反,末位+1,(2.2.6),即:,例2.12 已知+51补=0011 0011B,+66补=0100 0010B51补=1100 1101B,66补=1011 1110B 求+66补+51补=?-66补-51补=?解+66补-+51补=+66补+-51补-66补-51补=-66补+51补,可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最
3、高位向更高位的进位会自动丢失而不影响运算结果的正确性。计算机中带符号数用补码表示时有如下优点:可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和减法运算,简化了电路。,无符号数和带符号数的加法运算可以用同一个加法器实现,结果都是正确的。例如:,若两操作数为无符号数时,计算结果为无符号数11101110B,其真值为238,结果正确;若两操作数为补码形式,计算结果也为补码形式,11101110B为18的补码,结果也是正确的。,练习:1、x=+1011010,y=+1010000,求x+y补=?2、x=-1011010,y=-1010000,求x+y补=?3、x=+1011010,y=-1
4、010000,求x-y补=?4、x=-1011010,y=+1010000,求x-y补=?,2.2.5 溢出及其判断方法 1.进位与溢出 所谓进位,是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长为n位的带符号数,它能表示的补码范围为-2n-1+2n-1-1,如果运算结果超出此范围,就叫补码溢出,简称溢出。,可能出现溢出的情况:(1)两正数相加结果超出范围,结果变成负数。现象:次高位向最高位有进位,最高位相加(连同次高位进位)无进位。(上
5、溢)(2)两负数相加结果超出范围,结果变成正数。现象:次高位向最高位无进位,最高位相加(连同次高位进位)有进位。(下溢)(3)两异号数相减 正数减负数结果超出范围:同(1)负数减正数结果超出范围:同(2),2.溢出的判断方法 判断溢出的方法很多,常见的有:观察法。通过参加运算的两个数的符号及运算结果的符号进行判断。单符号位法。该方法通过符号位和数值部分最高位的进位状态来判断结果是否溢出。双符号位法,又称为变形补码法。它是通过运算结果的两个符号位的状态来判断结果是否溢出。上述三种方法中,第一种方法仅适用于手工运算时对结果是否溢出的判断,其他两种方法在计算机中都有使用。限于篇幅,本节仅通过具体例子
6、对第种方法做简要介绍。,若符号位进位状态用CF来表示,当符号位向前有进位时,CF=1,否则,CF=0;数值部分最高位的进位状态用DF来表示,当该位向前有进位时,DF=1,否则,DF=0。单符号位法就是通过该两位进位状态的异或结果来判断是否溢出的。(2.2.7)若OF=1,说明结果溢出;若OF=0,则结果未溢出。也就是说,当符号位和数值部分最高位同时有进位或同时没有进位时,结果没有溢出,否则,结果溢出。,例2.13 设有两个操作数x=01000100B,y=01001000B,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?,解,若为无
7、符号数,由于CF=0,说明结果未超出8位无符号数所能表达的数值范围(0255),计算结果10001100B为无符号数,其真值为140,计算结果正确。若为带符号数补码,由于OF=1,结果溢出;这里也可通过参加运算的两个数的符号及运算结果的符号进行判断,由于两操作数均为正数,而结果却为负数,因而结果溢出;+68和+72两数补码之和应为+140的补码,而8位带符号数补码所能表达的数值范围为128+127,结果超出该范围,因此结果是错误的。,例2.14 设有两个操作数x=11101110B,y=11001000B,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 汇编语言 补码 加减 运算
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5975647.html