微型计算机原理与汇编语言第2章-2补码的加减运算

上传人:wuxin****2020 文档编号:249606448 上传时间:2024-10-30 格式:PPT 页数:35 大小:752.50KB
收藏 版权申诉 举报 下载
微型计算机原理与汇编语言第2章-2补码的加减运算_第1页
第1页 / 共35页
微型计算机原理与汇编语言第2章-2补码的加减运算_第2页
第2页 / 共35页
微型计算机原理与汇编语言第2章-2补码的加减运算_第3页
第3页 / 共35页
资源描述:

《微型计算机原理与汇编语言第2章-2补码的加减运算》由会员分享,可在线阅读,更多相关《微型计算机原理与汇编语言第2章-2补码的加减运算(35页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章 计算机中的数制和编码,第,2,章 计算机中的数制和编码,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2.2.4,补码的加减运算,1.,补码加法,在计算机中,凡是带符号数一律用补码表示,运算结果自然也是补码。其运算特点是:符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。,补码加法的运算规则为:,即:两数补码的和等于两数和的补码。,(2.2.5),例,2.11,已知,+51,补,=0011 0011B,,,+66,补,=0100 001

2、0B,,,-51,补,=1100 1101B,,,-66,补,=1011 1110B,求,+66,补,+51,补,=,?,+66,补,+-51,补,=,?,-66,补,+-51,补,=,?,由于,+66,补,+51,补,=(+66)+(+55),补,=01110101B,结果为正,因此,(+66)+(+55),原,=(+66)+(+55),补,=01110101B,其真值为,+117,,计算结果正确。,二进制,(,补码,),加法 十进制加法,0100 0010 +66,补,+66,+)0011 0011 +51,补,+)+51,0111 0101 +117,补,+117,解:,由于,+66,补

3、,+51,补,=(+66)+(55),补,=0000111B,结果为正,因此,(+66)+(55),原,=(+66)+(55),补,=00001111,其真值为,+15,,计算结果正确。,二进制,(,补码,),加法 十进制加法,0100 0010 +66,补,+66,+)1100 1101 -51,补,+)-51,0000 1111 +15,补,+15,1,自动丢失,由于,-66,补,+-51,补,=10001011B=(-66)+(-55),补,结果为负,因此,(-66)+(-55),原,=(-66)+(-55),补,补,=11110101B,其真值为,-117,,计算结果正确。,二进制,(

4、,补码,),加法 十进制加法,1011 1110 -66,补,-66,+)1100 1101 -51,补,+)-51,1000 1011 -117,补,-117,1,自动丢失,2.,补码减法,补码减法的运算规则为:,变补:连同符号位在内,各位取反,末位,+1,(2.2.6),即:,例,2.12,已知,+51,补,=0011 0011B,,,+66,补,=0100 0010B,51,补,=1100 1101B,,,66,补,=1011 1110B,求,+66,补,+51,补,=,?,-66,补,-,-,-,51,补,=,?,解,+66,补,-+51,补,=+66,补,+-51,补,-66,补,-

5、51,补,=-66,补,+51,补,二进制,(,补码,),减法 十进制减法,1011 1110 -66,补,-66,+)0011 0011 +51,补,-)-51,1111 0001 -15,补,-15,二进制,(,补码,),减法 十进制减法,0100 0010 +66,补,+66,+)1100 1101 -51,补,-)+51,0000 1111 +15,补,+15,1,自动丢失,可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最高位向更高位的进位会自动丢失而不影响运算结果的正确性。,计算机中带符号数用补码表示时有如下优点:,可以将减法运算变为加法运算,因此可

6、使用同一个运算器实现加法和减法运算,简化了电路,。,无符号数和带符号数的加法运算可以用同一个加法器实现,结果都是正确的。例如:,无符号数 带符号数,11100001 225 -31,补,+)00001101 +)13 +)+13,补,11101110 238 -18,补,若两操作数为无符号数时,计算结果为无符号数,11101110B,,其真值为,238,,结果正确;若两操作数为补码形式,计算结果也为补码形式,,11101110B,为,18,的补码,结果也是正确的。,练习:,1,、,x=+1011010,,,y=+1010000,,求,x+y,补,=,?,2,、,x=-1011010,,,y=-

7、1010000,,求,x+y,补,=,?,3,、,x=+1011010,,,y=-1010000,,求,x-y,补,=,?,4,、,x=-1011010,,,y=+1010000,,求,x-y,补,=,?,2.2.5,溢出及其判断方法,1.,进位与溢出,所谓,进位,,,是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。,溢出,是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长为,n,位的带符号数,它能表示的补码范围为,-2,n-1,+2,n-1,-1,,如果运算结果超出此范围,就叫补码溢出,简

8、称溢出。,可能出现溢出的情况:,(,1,)两正数相加结果超出范围,结果变成负数。,现象:次高位向最高位有进位,最高位相加(连同次高位进位)无进位。(上溢),(,2,)两负数相加结果超出范围,结果变成正数。,现象:次高位向最高位无进位,最高位相加(连同次高位进位)有进位。(下溢),(,3,)两异号数相减,正数减负数结果超出范围:同(,1,),负数减正数结果超出范围:同(,2,),2.,溢出的判断方法,判断溢出的方法很多,常见的有:,观察法,。,通过参加运算的两个数的符号及运算结果的符号进行判断。,单符号位法,。,该方法通过符号位和数值部分最高位的进位状态来判断结果是否溢出。,双符号位法,,,又称

9、为变形补码法。它是通过运算结果的两个符号位的状态来判断结果是否溢出。,上述三种方法中,第一种方法仅适用于手工运算时对结果是否溢出的判断,其他两种方法在计算机中都有使用。限于篇幅,本节仅通过具体例子对第种方法做简要介绍。,若符号位进位状态用,CF,来表示,当符号位向前有进位时,,CF=1,,否则,,CF=0,;数值部分最高位的进位状态用,DF,来表示,当该位向前有进位时,,DF=1,,否则,,DF=0,。单符号位法就是通过该两位进位状态的异或结果来判断是否溢出的。,(2.2.7),若,OF=1,,说明结果溢出;若,OF=0,,则结果未溢出。也就是说,当符号位和数值部分最高位同时有进位或同时没有进

10、位时,结果没有溢出,否则,结果溢出。,例,2.13,设有两个操作数,x,=01000100B,,,y,=01001000B,,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?,解,无符号数 带符号数,01000100 68 +68,补,+)01001000 +)72 +)+72,补,10001100 140 +140,补,DF=1,CF=0,若为无符号数,由于,CF=0,,说明结果未超出,8,位无符号数所能表达的数值范围,(0,255),,计算结果,10001100B,为无符号数,其真值为,140,,计算结果正确。,若为带符号数补码,

11、由于,OF=1,,结果溢出;这里也可通过参加运算的两个数的符号及运算结果的符号进行判断,由于两操作数均为正数,而结果却为负数,因而结果溢出;,+68,和,+72,两数补码之和应为,+140,的补码,而,8,位带符号数补码所能表达的数值范围为,128,+127,,结果超出该范围,因此结果是错误的。,例,2.14,设有两个操作数,x,=11101110B,,,y,=11001000B,,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?,解,无符号数 带符号数,11101110 238 -18,补,+)11001000 +)200 +)-5

12、6,补,10110110 438 -74,补,DF=1,CF=1,1,自动丢失,若为无符号数,由于,CF=1,,说明结果超出,8,位无符号数所能表达的数值范围,(0,255),。两操作数,11101110B,和,11001000B,对应的无符号数分别为,238,和,200,,两数之和应为,438255,,因此,计算结果是错误的。,若为带符号数补码,由于,OF=0,,结果未溢出。两操作数,11101110B,和,11001000B,分别为,18,和,56,的补码,其结果应为,74,的补码形式,而计算结果,10110110B,正是,74,的补码,因此结果正确。,2.3,信 息 的 编 码,2.3.

13、1,二进制编码的十进制数,(BCD,编码,),虽然二进制数对计算机来说是最佳的数制,但是人们却不习惯使用它。为了解决这一矛盾,人们提出了一个比较适合于十进制系统的二进制编码的特殊形式,即将,1,位十进制的,0,9,这,10,个数字分别用,4,位二进制码的组合来表示,在此基础上可按位对任意十进制数进行编码。这就是二进制编码的十进制数,简称,BCD,码,(Binary-Coded Decimal),。,4,位二进制数码有,16,种组合,(0000,1111),,原则上可任选其中的,10,个来分别代表十进制中,0,9,这,10,个数字。但为了便于记忆,最常用的是,8421 BCD,码,这种编码从,0

14、000,1111,这,16,种组合中选择前,10,个即,0000,1001,来分别代表十进制数码,0,9,,,8,、,4,、,2,、,1,分别是这种编码从高位到低位每位的权值。,BCD,码有两种形式,即压缩型,BCD,码和非压缩型,BCD,码。,1,压缩型,BCD,码,压缩型,BCD,码用一个字节表示两位十进制数。例如,,10000110B,表示十进制数,86,。,2,非压缩型,BCD,码,非压缩型,BCD,码用一个字节表示一位十进制数。高,4,位总是,0000,,低,4,位用,0000,1001,中的一种组合来表示,0,9,中的某一个十进制数。,表,2.2 8421 BCD,码部分编码表,十

15、进制数,压缩型,BCD,码,非压缩型,BCD,码,1,2,3,9,10,11,19,20,21,00000001,00000010,00000011,00001001,00010000,00010001,00011001,00100000,00100001,00000001,00000010,00000011,00001001,00000001 00000000,00000001 00000001,00000001 00001001,00000010 00000000,00000010 00000001,需要说明的是,虽然,BCD,码,可以简化人机联系,但它,比纯二进制编码效率低,,对同一个给

16、定的十进制数,用,BCD,码表示时需要的位数比用纯二进制码多,而且用,BCD,码进行运算所花的时间也要更多,计算过程更复杂,因为,BCD,码是将每个十进制数用一组,4,位二进制数来表示,若将这种,BCD,码送计算机进行运算,由于计算机总是将数当作二进制数来运算,所以结果可能出错,,因此需要对计算结果进行必要的,修正,,才能使结果为正确的,BCD,码形式。详见本小节例,2.17,。,例,2.15,十进制数与,BCD,数相互转换。,将十进制数,69.81,转换为压缩型,BCD,数:,69.81=(0110 1001.1000 0001),BCD,将,BCD,数,1000 1001.0110 1001,转换为十进制数:,(1000 1001.0110 1001),BCD,=89.69,例,2.16,设有变量,x,等于,10010110B,,当该变量分别为无符号数、原码、补码、压缩型,BCD,码时,试分别计算变量,x,所代表的数值大小。,解:,x,为无符号数,:,x,=10010110B=1,2,7,+0,2,6,+0,2,5,+1,2,4,+0,2,3,+1,2,2,+1,2,1,+0,2,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!