第2章微机原理溢出判断PPT讲稿.ppt
《第2章微机原理溢出判断PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章微机原理溢出判断PPT讲稿.ppt(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第2章微机原理溢出判断第1页,共38页,编辑于2022年,星期一 例例2.11 已知+51补=0011 0011B,+66补=0100 0010B,-51补=1100 1101B,-66补=1011 1110B 求求+66补+51补=?+66补+-51补=?-66补+-51补=?解:二进制(补码)加法 十进制加法 0100 0010 +66补 +66+)0011 0011 +51补 +)+51 0111 0101 +117补 +117 日常生活我们用十进制算日常生活我们用十进制算计算机用二进制补码算计算机用二进制补码算对比结果对比结果是否正确是否正确第2页,共38页,编辑于2022年,星期一
2、二进制(补码)加法 十进制加法 0100 0010 +66补 +66+)1100 1101 -51补 +)-51 0000 1111 +15补 +151自动丢失由于+66补+51补=(+66)+(+55)补=01110101B结果为正,因此(+66)+(+55)原=(+66)+(+55)补=01110101B其真值为+117,计算结果正确。对比结果对比结果是否正确是否正确第3页,共38页,编辑于2022年,星期一 二进制(补码)加法 十进制加法 1011 1110 -66补 -66+)1100 1101 -51补 +)-51 1000 1011 -117补 -1171自动丢失由于+66补+51
3、补=(+66)+(55)补=0000111B结果为正,因此(+66)+(55)原=(+66)+(55)补=00001111其真值为+15,计算结果正确。对比结果对比结果是否正确是否正确第4页,共38页,编辑于2022年,星期一由于-66补+-51补=10001011B=(-66)+(-55)补 结果为负,因此(-66)+(-55)原=(-66)+(-55)补补=11110101B其真值为-117,计算结果正确。可以看出,不论被加数、加数是正数还是负数,只要直接用它们的补码可以看出,不论被加数、加数是正数还是负数,只要直接用它们的补码直接相加,当结果不超出补码所表示的范围时,计算结果便是正确的补
4、码形直接相加,当结果不超出补码所表示的范围时,计算结果便是正确的补码形式。但当计算结果超出补码表示范围时,结果就不正确了,这种情况称为式。但当计算结果超出补码表示范围时,结果就不正确了,这种情况称为溢溢溢溢出出出出。见211.asm演示第5页,共38页,编辑于2022年,星期一211.asmCODE SEGMENTASSUME CS:CODESTART:MOV AL,66 ADD AL,51 ;(AL)=?MOV AL,66 ADD AL,-51;(AL)=?MOV AL,-66 ADD AL,-51;(AL)=?CODE ENDSEND START第6页,共38页,编辑于2022年,星期一
5、2.2.补码减法补码减法补码减法补码减法补码减法的运算规则为:(2.2.6)第7页,共38页,编辑于2022年,星期一 例例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补 第8页,共38页,编辑于2022年,星期一 二进制(补码)加法 十进制加法 1011 1110 -66补 -66+)0011 0011 +51补 -)-51 1111 0001 -15补 -15 二进制(补码)加法 十进
6、制加法 0100 0010 +66补 +66+)1100 1101 -51补 -)+51 0000 1111 +15补 +151自动丢失对比结果对比结果是否正确是否正确对比结果对比结果是否正确是否正确第9页,共38页,编辑于2022年,星期一 可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最高位向更高位的进位会自动丢失而不影响运算结果的正确性。计算机中带符号数用补码表示时有如下优点:可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和
7、可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和减法运算,简化了电路减法运算,简化了电路减法运算,简化了电路减法运算,简化了电路。第10页,共38页,编辑于2022年,星期一 无符号数和带符号数的加法运算可以用同一个加法器实现,结无符号数和带符号数的加法运算可以用同一个加法器实现,结无符号数和带符号数的加法运算可以用同一个加法器实现,结无符号数和带符号数的加法运算可以用同一个加法器实现,结果都是正确的。例如:果都是正确的。例如:果都是正确的。例如:果都是正确的。例如:无符号数 带符号数 11100001 225 -31补+)00001101 +)13 +)+13补 11101110
8、 238 -18补 若两操作数为无符号数时,计算结果为无符号数11101110B,其真值为238,结果正确;若两操作数为补码形式,计算结果也为补码形式,11101110B为18的补码,结果也是正确的。第11页,共38页,编辑于2022年,星期一2.2.5 2.2.5 溢出及其判断方法溢出及其判断方法溢出及其判断方法溢出及其判断方法 1.进位与溢出进位与溢出 所谓进进进进位位位位,是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。溢出溢出溢出溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长
9、为n位的带符号数,它能表示的补码范围为-2n-1+2n-1-1,如果运算结果超出此范围,就叫补码溢出,简称溢出。第12页,共38页,编辑于2022年,星期一 2.溢出的判断方法 判断溢出的方法很多,常见的有:通过参加运算的两个数的符号及运算结果的符号进行判断。单单单单符符符符号号号号位位位位法法法法。该方法通过符号位和数值部分最高位的进位状态来判断结果是否溢出。双双双双符符符符号号号号位位位位法法法法,又称为变形补码法。它是通过运算结果的两个符号位的状态来判断结果是否溢出。上述三种方法中,第一种方法仅适用于手工运算时对结果是否溢出的判断,其他两种方法在计算机中都有使用。限于篇幅,本节仅通过具体
10、例子对第种方法做简要介绍。第13页,共38页,编辑于2022年,星期一 若符号位进位状态用CF来表示,当符号位向前有进位时,CF=1,否则,CF=0;数值部分最高位的进位状态用DF来表示,当该位向前有进位时,DF=1,否则,DF=0。单符号位法就是通过该两位进位状态的异或结果来判断是否溢出的。(2.2.7)若OF=1,说明结果溢出;若OF=0,则结果未溢出。也就是说,当符号位和数值部分最高位同时有进位或同时没有进位时,结果没有溢出,否则,结果溢出。第14页,共38页,编辑于2022年,星期一 例2.13 设有两个操作数x=01000100B,y=01001000B,将这两个操作数送运算器做加法
11、运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?解解 无符号数 带符号数 01000100 68 +68补+)01001000 +)72 +)+72补 10001100 140 +140补DF=1CF=0第15页,共38页,编辑于2022年,星期一 若为无符号数,由于CF=0,说明结果未超出8位无符号数所能表达的数值范围(0255),计算结果10001100B为无符号数,其真值为140,计算结果正确。若为带符号数补码,由于=1,结果溢出;这里也可通过参加运算的两个数的符号及运算结果的符号进行判断,由于两操作数均为正数,而结果却为负数,因而结果溢出;+68和+72
12、两数补码之和应为+140的补码,而8位带符号数补码所能表达的数值范围为128+127,结果超出该范围,因此结果是错误的。第16页,共38页,编辑于2022年,星期一 例2.14 设有两个操作数x=11101110B,y=11001000B,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?解解 无符号数 带符号数 11101110 238 -18补+)11001000 +)200 +)-56补 10110110 438 -74补DF=1CF=11自动丢失 第17页,共38页,编辑于2022年,星期一 若为无符号数,由于CF=1,说明结果
13、超出8位无符号数所能表达的数值范围(0255)。两操作数11101110B和11001000B对应的无符号数分别为238和200,两数之和应为438255,因此,计算结果是错误的。若为带符号数补码,由于=0,结果未溢出。两操作数11101110B和11001000B分别为18和56的补码,其结果应为74的补码形式,而计算结果10110110B正是74的补码,因此结果正确。第18页,共38页,编辑于2022年,星期一2.3 信信 息息 的的 编编 码码 2.3.1 2.3.1 二二二二进进制制制制编码编码的十的十的十的十进进制数制数制数制数(BCD(BCD编码编码)虽然二进制数对计算机来说是最佳
14、的数制,但是人们却不习惯使用它。为了解决这一矛盾,人们提出了一个比较适合于十进制系统的二进制编码的特殊形式,即将1位十进制的09这10个数字分别用4位二进制码的组合来表示,在此基础上可按位对任意十进制数进行编码。这就是二进制编码的十进制数,简称BCD码(Binary-Coded Decimal)。第19页,共38页,编辑于2022年,星期一 4位二进制数码有16种组合(00001111),原则上可任选其中的10个来分别代表十进制中09这10个数字。但为了便于记忆,最常用的是8421 8421 BCDBCD码码,这 种 编 码 从 00001111这16种组合中选择前10个即00001001来分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 溢出 判断 PPT 讲稿
限制150内