版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专题运算计算机硬件技术基础学时第1页,共87页,2023年,2月20日,星期日本课使用教材课堂用教材:天大出版社2006.9《MCS-51单片机原理及应用》
ISBN
7-5618-2321-5实验指导书:清华大学出版社2009.9《计算机硬件技术实践教程》
ISBN
978-7-302-20991-1第2页,共87页,2023年,2月20日,星期日学时分配共48学时(实验另计)专题一用4学时概述内容、“三微”、表示数、编码、逻辑运算引出算术运算电路的求补电路先引出求补码和求补算术运算解决本课学什么?掌握什么?怎样学?下课后各班交课表(只需注明有课状况即可,可以划X或者O来代替具体科目),以便安排实验时间还有,留下电话方便联系本课相关问题1.上课,2.作业,3.{软件、硬件}实验(报告)考勤方法(方法I,方法II)第3页,共87页,2023年,2月20日,星期日本课的地位学习本课对基础知识的要求本课教学目标学习本课的方法授课章节及学时安排实验内容及安排第一讲的重点和难点
第4页,共87页,2023年,2月20日,星期日本课的地位计算机文化基础计算机技术基础计算机应用基础第一层第二层第三层计算机软件技术基础计算机硬件技术基础计算机硬件技术基础—微机原理、微机接口、微机应用第5页,共87页,2023年,2月20日,星期日
微机运算基础•
微机组成、基本工作原理、微机系统初步•
了解CPU体系结构•
了解存储器系统结构、作用•
了解I/O接口基本功能、结构、端口的编址方式和I/O同步控制方式•
掌握中断概念、CPU响应中断的条件和处理过程•
掌握指令系统和汇编语言程序设计(隐含的)
微机原理(重点)第6页,共87页,2023年,2月20日,星期日•了解并行接口与串行接口的共性与区别掌握串行通讯的基本概念•掌握可编程并行接口芯片的工作方式、初始化编程•掌握定时器、计数器的原理、功能、应用与编程•了解键盘、显示器等人机交互设备的作用、原理及接口方法•
理解并掌握A/D,D/A转换原理、主要性能参数,了解典型DAC、ADC集成芯片,与MPU的接口方法、应用及编程•了解异步串行通讯协议、应用与编程微机接口(重点)第7页,共87页,2023年,2月20日,星期日•了解微机在测控系统中的应用•了解计算机测控系统的实时处理概念和一般结构•了解测控系统的分析和设计方法•单片机应用系统的一般分析和设计方法(重点)
微机应用第8页,共87页,2023年,2月20日,星期日预先应学习:1、计算机文化基础2、计算机软件技术基础3、数字电路、模拟电路4、电工基础学习本课对基础知识的要求第9页,共87页,2023年,2月20日,星期日本课教学目标基本知识基本技能思路方法独立分析问题和解决问题的能力实践能力和创新能力综合运用能力独立获取知识的能力教师讲解学生“悟”教学目标传授知识与能力培养统一,理论与实践统一。第10页,共87页,2023年,2月20日,星期日学习本课的方法1、利用迁移原理将自身积累的知识充分发挥出来,迁移到本课新知识的学习。2、重视实践,独立思考,认真做实验3、带着问题学,寻找解决问题的知识、思路、方法第11页,共87页,2023年,2月20日,星期日章节内容学时学习方式第一章微型计算机基础4自学导学
第二章MCS-51单片机的结构3导学第三章MCS-51单片机的指令系统2+1*导学(2第四章汇编语言程序设计2*迁移导学(4第五章输入/输出和中断3导学(2第六章MCS-51内部的I/O口、定时器及其应用3导学(2第七章MCS-51单片机系统扩展4*导学第八章单片机人机接口(LED显示器接口)4导学(2第九章单片机系统的开发
9.1设计步骤2自学(4第10章新型的51兼容单片机简介1**导学授课章节及学时安排授课内容共31学时,外加一个学时介绍考试系统使用第12页,共87页,2023年,2月20日,星期日实验内容学时实验一
熟悉软件环境及数传指令编程设计2实验二
算术、逻辑运算及位操作指令编程设计2实验三
分支和循环程序设计2实验四
查表、散转、子程序设计2实验五
8155及显示程序设计2实验六
P1口及外部中断、定时器及中断2实验七
综合性、开放性、设计性实验2实验八
综合性、开放性、设计性实验2实验内容及安排第13页,共87页,2023年,2月20日,星期日内容:书P1~P28重点:难点:“三微”的概念减法运算的原理机器数与真值补码补码、定点补码运算及
BCD码、ASCII码判溢出算术运算与逻辑运算BCD码运算及调整作业:消化本讲内容,P33思考习题11-1~1-5
消化1.4.3计算机中的运算
P331-11、1-12、1-13、1-14、1-151-16、1-17、1-18第一讲第14页,共87页,2023年,2月20日,星期日第一章微型计算机基础
1.1微型计算机系统的概念
1、微处理器、微型计算机、
微型计算机系统
2、本课主要讲授内容及要求专题一计算机中的数、编码及运算
1.4微型计算机的运算基础第一讲第15页,共87页,2023年,2月20日,星期日1.“三微”的概念1、微处理器
(MPU)算术逻辑单元其核心cpu—运算器和控制器寄存器组是微型计算机的核心部件控制部件2、微型计算机
MPU为核心半导体存储器(ROM/RAM)I/O(Input/Output)接口和中断系统系统总线(CBDBAB)集成在一个半导体芯片上组装在一块或数块印刷电路板上多板微型计算机单板微型计算机单片微型计算机第16页,共87页,2023年,2月20日,星期日微型计算机的两大分支核心器件微处理器微控制器MicroProcessorUnitembedMicroControllerUnitMPUMCU第17页,共87页,2023年,2月20日,星期日微机组成结构的两大类型冯.诺依曼型哈佛型CPUI/O接口存储器系统总线数据存储器CPUI/O接口程序存储器系统总线DBCBAB例:PC机例:MCS-51单片机第18页,共87页,2023年,2月20日,星期日3、微型计算机系统硬件系统软件系统第19页,共87页,2023年,2月20日,星期日硬件系统微型计算机微处理器:运算器、控制器内存储器ROM:ROM、PROM、EPROM、E2PROM、FlashROMRAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中断接口、DMA接口系统总线:数据、地址、控制总线(DB、AB、CB)外围设备输入/输出设备A/D、D/A转换器开关量输入/输出终端微型计算机微处理器:运算器、控制器内存储器ROM:ROM、PROM、EPROM、E2PROM、FlashROMRAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中断接口、DMA接口系统总线:数据、地址、控制总线(DB、AB、CB)外围设备输入/输出设备A/D、D/A转换器开关量输入/输出终端第20页,共87页,2023年,2月20日,星期日软件系统系统软件操作系统编译系统监控程序汇编程序程序设计语言机器语言汇编语言高级语言应用软件
把汇编语言源程序翻译成机器语言目标程序的语言处理程序
自汇编程序
交叉汇编程序第21页,共87页,2023年,2月20日,星期日本课的主要内容及要求微型计算机
MPU微处理器
存储器(内存)I/O接口系统总线连线编程综合应用器件的外特性掌握规律第22页,共87页,2023年,2月20日,星期日具体机型:MCS-51单片微型计算机Single-ChipMicrocomputerMicro-ControllerMCS-51单片机的基本组成一、中央处理器CPU二、时钟电路三、内部存储器四、定时器/计数器(T/C)五、并行I/O口六、串行口七、中断控制系统第23页,共87页,2023年,2月20日,星期日重点解决:计算机的重要职能之一处理数
在计算机中如何表示一个数?不同性质数的运算规则和算法。1.4微型计算机运算基础
1.4.1计算机中数的表示方法
1.4.2计算机中的编码
1.4.3计算机中的运算1.4微型计算机运算基础第24页,共87页,2023年,2月20日,星期日
几个重要概念复习不同进制数之间的互换(黑板)3.
机器数与真值4.带符号数的原码、反码、补码5.数的定点与浮点表示
1.4.1计算机中数的表示方法第25页,共87页,2023年,2月20日,星期日1几个重要概念
重点概念1:计算机中的数据都是以二进制形式进行存储和运算的重点概念2:在计算机中存储数据时,每类数据占据固定长度的二进制数位,而不管其实际长度。一般长度为字节的整倍数
重点概念3:计算机中不仅要处理无符号数,还要处理带符号和带小数点的数。例如:在八位微机中,整数216存储为11011000B
整数56存储为00111000B
重点概念4:机器数与真值
1几个重要概念第26页,共87页,2023年,2月20日,星期日2不同进制数之间的互换1、不同进制数转换成十进制数——按权展开法表示不同进制数的尾部字母:二B,十六H,八Q,十D(可略)例:10101010B=1×27+0×26+1×25+0×24+1×23+0×22+1×21+0×20=128+32+8+2=1702、十二(1)整数部分——除以2取余法——直到商为0止(2)小数部分——乘以2取整法——直到积为0止或达到精度要求止例:100=B=H=Q
例:0.625=B=H=Q0.1=B=H=Q
2不同进制数之间的互换第27页,共87页,2023年,2月20日,星期日
3、二进制数、八进制与十六进制数之间的互换
1)二八三合一
2)八二一分三
3)二十六四合一(重点)
4)十六二一分四(重点)例:01110110B=76H9BH=10011011B
7610011011
例:0.1010110B=0.ACHAC不足四位补0
问:01110110B=?Q0.1010110B=?Q第28页,共87页,2023年,2月20日,星期日4、
用权表示数(2n2n-12n-12n-1-1)
1)权
n位二进制数各位的权从高位到低位依次为:n位二进制数:Bn-1Bn-2Bn-3……………
B1B0权:2n-12n-22n-3………
2120
2)用权表示数例:11111……1111B=2n-1,即n个1。
01111……1111B=2n-1-1,即n-1个1
最高位的权为:2n-1例:n=8,11111111B=FFH=28-101111111B=7FH=28-1-1例:n位二进制数表示无符号数的范围:0~2n-1n=80~28-10~255n=160~216-10~65535n=32?N=64?第29页,共87页,2023年,2月20日,星期日3.机器数与真值1)机器数:能被计算机识别的数称为机器数。2)真值:机器数所代表的真实值称为机器数的真值。3)对于无符号数其机器数与真值表示方法相同。例:真值:100=64H=01100100B
对应的机器数:64H=01100100Bn位二进制数可表示的数的范围是:0~2n-18位二进制数可表示的数的范围是:
0~28-1,[0,FFH],[0,255]16位二进制数可表示的数的范围是:
0~216-1,[0,FFFFH],[0,65535]
例:01100100B其8位全部为数值位。特点:无符号数的机器数与其真值为等值关系3.机器数与真值第30页,共87页,2023年,2月20日,星期日4)带符号数的机器数的表示方法(重点和难点)
常见的有原码、反码和补码三种表示方式。
特点:带符号数的机器数与其真值表示方法不同,两者的关系不是等值关系,仅是一一对应关系。例如:在八位微机中,真值:+65可表示成机器数(原码)为01000001B真值:-65可表示成机器数(原码)为11000001B01100000符号位数值位符号位:“0”
表示正号“1”
表示负号第31页,共87页,2023年,2月20日,星期日4
带符号数的原码、反码、补码(1)原码定义:在表示带符号数时,正数的符号位为“0”,负数的符号位为“1”,数值位表示数的绝对值,这样就得到了数的原码。例如在八位微机中:[+38]原=[+100110]原=00100110B[-38]原=[-100110]原=10100110B4
带符号数的原码、反码、补码
第32页,共87页,2023年,2月20日,星期日
计算公式:对于字长为n位的机器数:当真值X≥0时,X可表示为+Xn-2Xn-3…X0;当真值X<0时,X可表示为-Xn-2Xn-3…X0,则X的原码可定义为:
[X]原=0Xn-2Xn-3…X0=X 0≤X≤2n-1―11Xn-2Xn-3…X0=2n-1-X=2n-1+|X| -(2n-1―1)≤X≤0
可见n位原码可表示数的范围为:-(2n-1―1)~+(2n-1―1)
则在八位微机中,码可表示数的范围为-127至+127求真值:带符号数的原码表示法简单易懂,而且与真值转换方便。此公式第一项即是原码,等号后面是由真值求原码(负)第33页,共87页,2023年,2月20日,星期日原码的缺点:
l
“0”的原码有两种形式,这在运算中非常不方便。
[+0]原=00000000B[-0]原=
10000000B,即分为+0和-0l
原码在进行两个异符号数相加或两个同符号数相减时,需做减法运算,由于微机中一般只有加法器而无减法器,所以,为了把减法运算转变为加法运算就引入了反码和补码。原码的用途:l
原码做乘除法运算方便,两数的符号和数值分别处理积的符号为两数符号位的异或运算结果积的数值部分为两数绝对值相乘的结果第34页,共87页,2023年,2月20日,星期日(2)反码定义:正数的反码表示与原码相同;负数的反码,可将负数原码的符号位保持不变、数值位按位取反得到,或者将负数看作正数求原码,再将所有位按位取反得到。因此,在n位机器数的计算机中,数X的反码定义为:[X]反=0Xn-2Xn-3…X0=X0≤X≤2n-1―11Xn-2Xn-3…X0=11…1B-|X|=2n-1-|X|
-(2n-1―1)≤X≤0缺点:“0”的反码也有两种表示法,即+0和-0。
[+0]反=00000000B[-0]反=11111111Bn位反码表示数的范围与原码相同,八位二进制反码表示的范围仍是-127至+127。第35页,共87页,2023年,2月20日,星期日例如八位微机中:[+11]原=00001011B[+11]反=00001011B[-11]原=10001011B[-11]反=11110100B[-38]原=10100110B[-38]反=11011001B[+127]原=01111111B[+127]反=01111111B[-127]原=11111111B[-127]反=10000000B[+0]原=00000000B[+0]反=00000000B[-0]原=10000000B[-0]反=11111111B求真值:由反码求得原码,再由原码求得真值,即可得到反码的真值。例如:反码11011001B,符号位为1,将数值位按位取反,得到原码10100110B,其真值为-0100110B即十进制数-38。第36页,共87页,2023年,2月20日,星期日(3)补码(难点)定义:正数的补码表示与原码相同负数的补码等于它的反码末位加1
即[X]补=[X]反+1例如:[+11]原=00001011B[+11]反=00001011B[+11]补=00001011B[-11]原=10001011B[-11]反=11110100B[-11]补=11110101B[+127]原=01111111B[+127]反=01111111B[+127]补=01111111B[-127]原=11111111B[-127]反=10000000B[-127]补=10000001B[+0]原=00000000B[+0]反=00000000B[0]补=00000000B[-0]原=10000000B[-0]反=11111111B[-128]补=10000000B第37页,共87页,2023年,2月20日,星期日补码的含义:
以时钟对时为例来说明,现由7点钟调到4点钟。
顺时针调:7+9=4(mod12)逆时针调:7-3=4(mod12)
由于时钟上超过12点时就会自动丢失一个数12,这个自动丢失的数叫做“模”(module,简写为mod)第38页,共87页,2023年,2月20日,星期日由补码的定义得求补码公式:l
则n位补码表示数的范围为:―2n―1~+(2n―1―1)l
八位二进制补码表示的数值范围是-128至+127。优点:0的补码为00000000B,只有这一种形式。[X]补=0Xn-2Xn-3…X0=X 0≤X≤2n-1―11Xn-2Xn-3…X0+1=2n-|X|=2n+X
-2n-1≤X<0(mod2n)
第39页,共87页,2023年,2月20日,星期日已知补码求真值:已知正数的补码求真值与原码相同,只要将符号位的0变为+(正号),即得到它的真值。
已知负数的补码求真值方法1:将负数补码的数值位按位取反再加1,将符号位的1变为-(负号),即得到它的真值。方法2:用公式:X=-(2n-[X]补)
已知补码为01111111B,其真值为+1111111B=+7FH
已知补码为11111111B,其真值为:10000000B+1=10000001B,其真值为—01H或:X=—(28—11111111B)=—(00H-FFH)=—1第40页,共87页,2023年,2月20日,星期日小结:已知带符号数的机器数求真值1.已知正数的原码、反码、补码求真值,只需将符号位的“0”改为正号“+”即可。2.已知负数的原码,其真值只需将原码的符号位的“1”改为负号“-”即可。3.已知负数的反码,先将它变为原码,再求真值。或用公式计算:真值x=-(2n-1-[x]反)
4.已知负数的补码,数值位取反加1,符号为改为-号,或用公式:X=-(2n-[X]补)第41页,共87页,2023年,2月20日,星期日例:已知带符号数的机器数为56H,求其真值。真值=+56H例:已知带符号数的机器数为0D6H,求其真值。
若0D6H是原码,则真值为:-56H
11010110B-1010110B
若0D6H是反码,则真值为:-29H-(0FFH-0D6H)
若0D6H是补码,则真值为:-2AH-(00H-0D6H)第42页,共87页,2023年,2月20日,星期日
当n=8时,几种码的表示范围原码反码补码-127至+127-127至+127-128至+127
当n=16时,几种码的表示范围原码反码补码-32767至+32767-32767至+32767-32768至+32767第43页,共87页,2023年,2月20日,星期日5
数的定点与浮点表示
计算机中如何表示实数中的小数点呢?
计算机中不用专门的器件表示小数点,而是用数的两种不同的表示法来表示小数点的位置。
根据小数点的位置是否固定,数的表示方法分为定点表示和浮点表示,相应的机器数称为定点数和浮点数。
任意一个二进制数N均可表示为:
N=S·2J
其中:
S称为数N的尾数,表示数N的全部有效数字,决定了N的精度。
J称为数N的阶码,底为2,指明了小数点的位置,决定了数N的大小范围。第44页,共87页,2023年,2月20日,星期日sf
s1s2…sm小数点隐含位置,定点纯小数sf
s1s2…sm小数点隐含位置,定点纯整数(1)定点表示法计算机在处理定点数时,常把小数点固定在数值位的最后面或最前面,即分为定点纯小数与定点纯整数两类,如图1-6所示。例如:00011000B,如果看作定点纯整数,其真值为24
看作定点纯小数,其真值为0.1875第45页,共87页,2023年,2月20日,星期日
(2)浮点表示法
在浮点表示法中,小数点的位置是浮动的,阶码J可取不同的数值,则在计算机中除了要表示尾码S,还要表示阶码J。因此,一个浮点数表示为阶码和尾数两部分,尾数一般是定点纯小数,阶码是定点纯整数,其形式如图1-7所示。小数点隐含位置
阶符阶码尾符尾数
阶码部分尾数部分jfj1j2……jnsfs1s2……sm第46页,共87页,2023年,2月20日,星期日00001001100010101010100000000000B阶符阶码尾符 尾数
(24位)(-469.375)10=(-111010101.011)2
=(-0.111010101011)2×2+9
=(-0.111010101011)2×2+1001B[-0.111010101011]补=100010101010100000000000B[+1001B]补=00001001B例如,某计算机用32位表示浮点数,尾数部分占24,为补码定点纯小数;阶码为8位补码定点纯整数。用来表示一个数-469.375,先进行变换:
因此,数-469.375在该计算机中的浮点表示为:第47页,共87页,2023年,2月20日,星期日1.4.2计算机中的编码ASCII码:由七位二进制编码组成,共有128个字符编码。包括图形字符(字母、数字、其它可见字符共96个)和控制字符(回车、空格等共32个)其中数字0~9的ASCII码为30H~39H,差30H
字母A~F的ASCII码为41H~46H,差37HD7位加奇偶校验位:无校验D7位补0
奇校验D7位使含1的个数为奇数个偶校验D7位使含1的个数为偶数个例:30H00110000HD7补0为无校验和偶校验
10110000HD7补1为奇校验1.4.2计算机中的编码
第48页,共87页,2023年,2月20日,星期日BCD编码:具有十进制位权的二进制编码。最常见的是8421码。(见书5-6页)注意:
0000B~1001B是0~9的BCD码
1010B~1111B是非BCD码例:
15的BCD码为00010101B=15H15=0FH100=64H100的BCD码为000100000000B=100H
压缩的BCD码56H占一个存储单元非压缩BCD码05H06H占两个单元存储方式第49页,共87页,2023年,2月20日,星期日逻辑运算
1、与
3、非
2、或
4、异或算术运算1.加/减运算电路及二进制无符号数四则运算2.带符号数补码运算及判OV3.BCD码加/减法及十进制调整4、算术运算小结1.4.3计算机中的运算
计算机中的运算分为两类:逻辑运算:逻辑“与”、“或”、“非”、“异或”等算术运算:加、减、乘、除运算1.4.3计算机中的运算第50页,共87页,2023年,2月20日,星期日FAAiBiCiSiCi+1图1-8全加器符号图AiBiCiSiCi+10000111100110011010101010110100100010111全加器真值表
加/减运算电路1.加/减运算电路及二进制无符号数的四则运算第51页,共87页,2023年,2月20日,星期日减法的实现
减法时SUB=1,有取反加1功能加法时SUB=0无取反加1功能求补电路第52页,共87页,2023年,2月20日,星期日进/借位标志CY=SUBC8SUBC8CY000011101110C7C8OV000011(负)101(正)110SUB加/减标志位0/1CyFAA6B6C6S6C7=1FAA1B1C1S1C2=1FAA0B0C0S0FAA7B7S7C8=1=1图1-9八位微机加/减运算电路OV=1=1溢出标志OV=C7C8第53页,共87页,2023年,2月20日,星期日(1)加法运算二进制加法法则为:0+0=01+0=0+1=11+1=101+1+1=11二进制无符号数的四则运算第54页,共87页,2023年,2月20日,星期日例:二进制无符号数加法
被加数10111011B+加数00010110B进位00111110和11010001B1、求187+22结果:11010001B即209SUB=0,C8=0,CY=02、求200+200
被加数11001000B+加数11001000B进位11001000和110010000B结果:SUB=0,C8=1,CY=1
和=进位值+8位和值
=256+10010000B=400第55页,共87页,2023年,2月20日,星期日1101110100110100110001010000011010000011111
被加数10111011B+加数00010110B进位00111110和11010001B结果:11010001B即209SUB=0,C8=0,CY=0第56页,共87页,2023年,2月20日,星期日00010011100010011000010001011000100
被加数11001000B+加数11001000B进位11001000和110010000B10001001结果:SUB=0,C8=1,CY=1
和=进位值+8位和值
=256+10010000B=400第57页,共87页,2023年,2月20日,星期日(2)减法运算法则:
0-0=0 1-0=1 1-1=00-1=1(借1当2)
被减数10111011B
-减数00010110B借位00000100差10100101B手算:例:求187-22例:二进制无符号数减法结果:无借位,差为10100101B即165直接减第58页,共87页,2023年,2月20日,星期日取反1101110100110100110100101001101011111001011机器算:难点
被减数10111011B-减数00010110B借位标志CY=SUBC8=11=0求补电路减法SUB=110101011加1第59页,共87页,2023年,2月20日,星期日
被减数 10111011B=BBH11101001B取反+1 加1+
11101010B=EAH进位 11111010
差 10100101B=A5H求补- 减数 00010110B=16H对减数求补后,加被减数例:求187-22结果:10100101B即165无借位,SUB=1,C8=1,CY=0说明:直接相减无借位,求补相加有进位,反之亦然。第60页,共87页,2023年,2月20日,星期日
计算22-187,即00010110B-10111011B时,有:
被减数 00010110B
- 减数 10111011B01000100B 取反 +1 加1
+ 01000101B
进位 00000100
差 01011011B
此时,结果为01011011B,即91,不正确,
Cy=C8⊕SUB,C8=0,SUB=1,CY=1因为有借位-256,所以,差=-256+91=-165求补第61页,共87页,2023年,2月20日,星期日(3)乘法运算法则
0×0=00×1=1×0=01×1=1
被乘数1001B
乘数×1011B100110010000
+1001
乘积1100011B常用算法:1、左移加2、右移加3、连加P129例4-22第62页,共87页,2023年,2月20日,星期日(4)定点整数除法运算11100100011001011111011011010常用算法:1、移位相减法
P130例4-232、连减
P138例4-28第63页,共87页,2023年,2月20日,星期日定点补码运算定律:当X,Y,X+Y,X-Y均在―2n―1~+(2n―1―1)范围内时,则:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X]补-[Y]补=[X+(-Y)]补
=[X]补+[-Y]补
如果X+Y,X-Y的值不在―2n―1~+(2n―1―1)范围内(n=8时[-128,127]),则机器就产生了溢出错误,上式不成立,运算结果无意义。2.带符号数定点补码运算及判OV第64页,共87页,2023年,2月20日,星期日
溢出判别
(overflow)
若X±Y>2n-1-1,为正溢出;若X±Y<-2n-1,为负溢出。判溢出的方法:
1、双进位位法(本书主要用此法判溢出)
OV=C8C7C8、C7相同不溢出,不同溢出。
2、双符号位法——变形码
0V=Sf’
SfSf’
、Sf相同不溢出,不同溢出。(1)定点补码加法
步骤:1、将X、Y(或-Y)转换为补码。2、进行加法运算,符号位参与运算。
第65页,共87页,2023年,2月20日,星期日[例1-1]
在八位微机中,已知X=+76,Y=+23,求X+Y
解:[X]补= 01001100B
+[Y]补= 00010111B
01100011B[X]补+[Y]补=01100011B=[+99]补
=[(+76)+(+23)]补=[X+Y]补
双进位位法判溢出:OV=0∵C7=0,C8=0
[例1-2]
已知X=+76,Y=-23,求X+Y
解: [X]补= 01001100B
+ [Y]补= 11101001B
100110101B[X]补+[Y]补=00110101B=[+53]补
=[(+76)+(-23)]补=[X+Y]补
双进位位法判溢出:OV=0∵C7=1,C8=1编写出程序片段:MOVA,#76;(A)=4CH=01001100BADDA,#23;(A)=4CH+17H=63HOV=0或:
MOVA,#4CH;(A)=4CH=01001100BADDA,#17H;(A)=63H真值补码第66页,共87页,2023年,2月20日,星期日
[例1-5]
在八位微机中,已知X=+76,Y=+69,求X+Y
解: [X]补= 01001100B
+ [Y]补= 01000101B
10010001B[X]补+[Y]补=10010001B=[-111]补≠[X+Y]补双进位位法判溢出:OV=1∵C7=1,C8=0正溢出[例1-6]
已知X=-76,Y=-69,求X+Y
解: [X]补= 10110100B
+ [Y]补= 10111011B
1
01101111B[X]补+[Y]补=01101111B=[+111]补≠[X+Y]补双进位位法判溢出:OV=1∵C7=0,C8=1负溢出两个正数的和为负数两个负数的和为正数两个正数的和为负数两个负数的和为正数溢出后,运算结果无意义,需要将两个操作数扩大位数后,再算。例1-5可将76的补码写成004CH,69得补码写成0049H
计算:
0000000001001100B+0000000001001001B
0000000010010101B=0095HC16C15OV=0,不溢出
例1-6同理,用16位二进制数表示数,-76得补码为FFB4H-69的补码为FFBBH,再算即可。
第67页,共87页,2023年,2月20日,星期日
双符号位法判断溢出——变形码用两位来表示符号:
00表示正号,11表示负号,称为变形码。用变形码进行加法运算时,两位符号位同数值位一起参加运算,运算后,若运算结果的两个符号位相同,则没有溢出;若运算结果的两个符号位不同,则发生了溢出,运算结果错误。用Sf'和Sf表示运算结果的两个符号位,则有:
OV=Sf'⊕Sf第68页,共87页,2023年,2月20日,星期日[例1-7]
在八位微机中,已知X=+76,Y=+69,求X+Y
解: [X]补 =01001100B[Y]补 =01000101B
[X]变形码 =001001100B
+ [Y]变形码 =001000101B
010010001B因为Sf'=0,Sf=1,运算后,根据Sf'⊕Sf=0⊕1=1
设置OV=1,有溢出,结果错误。第69页,共87页,2023年,2月20日,星期日[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补[Y]补[-Y]补-+求补(2)定点补码减法运算
[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补
作加法,需人工求补做减法,机器自动求补第70页,共87页,2023年,2月20日,星期日步骤:1、将X、Y(或-Y)转换为补码。2、进行减法运算,符号位参与运算。判溢出的方法与加法相同[例1-9]
已知X=+76,Y=-23,求X-Y
[X]补= 01001100B
-[Y]补= 11101001B00010110B 取反+1 加1
+ 00010111B
01100011B01100011B=[+99]补=[(+76)-(-23)]补=[X-Y]补
双进位位法判溢出:OV=0∵C7=0,C8=0求补编写出程序片段:MOVA,#76;(A)=4CH=01001100BMOVB,#-23;(B)=0E9HCLRCSUBBA,B;(A)=4CH-0E9H=63HOV=04CH0E9H第71页,共87页,2023年,2月20日,星期日
同补码加法一样,补码的减法运算也可能发生溢出,因为补码的减法运算是转换成加法运算来实现的,所以其溢出的判断方法与加法相同。
[例1-11]
已知X=+76,Y=-69,求X-Y解: [X]补= 01001100B
- [Y]补= 10111011B 01000100B 取反求补
+1 加1
+ 01000101B
10010001B10010001B=[-111]补≠[X-Y]补因为C7=1,C8=0,则OV=1,发生溢出,结果错误。X-Y=145>127
典型算法:两个带符号数比较大小用S表示和的符号位,OV为溢出标志位则:[X]补-[Y]补
SOV比较结果
00X>Y01X<Y10X<Y11X>Y第72页,共87页,2023年,2月20日,星期日(1)BCD码的加法运算在两个数的BCD码进行加法运算时,当低四位和高四位都无进位并且不超过9时,可得到正确的运算结果。
[例1-13]
已知X=63,Y=24,求X+Y
解: [X]BCD码 =01100011B
+ [Y]BCD码 =00100100B
进位 0110000010000111B10000111B=[87]BCD码=[63+24]BCD码=[X+Y]BCD码
3.BCD码加法及十进制调整第73页,共87页,2023年,2月20日,星期日
[例1-14]
已知X=68,Y=49,求X+Y
解: [X]BCD码 =01101000B
+ [Y]BCD码 =01001001B
进位 01001000CY=0,AC=1
和10110001B
+01100110B调整
100010111BCY=1X+Y=100+17=117,CY=1,进位值为100
例1-14中,低四位有进位,高四位的值超过9,是非法码,结果错误,需进行调整。大家看到,在运算中,当低四位向四高位进位时,是逢16进位为1,即按照十六进制的原则进行的运算,而BCD码是十进制数,应按照逢十进一的原则进行运算,所以应将和的低四位加6以补上多拿走的6,调整为0111B。和的高四位1011B大于9,应向高位进位,同样加上6进行调整,变为10001B。编写出程序片段:MOVA,#68H;(A)=68H=01101000BADDA,#49H;(A)=B1HDAA;(A)=B1H+66H=17HCY=1代表100
结果:117必须写BCD码不能写真值第74页,共87页,2023年,2月20日,星期日(2)BCD码的减法运算两个数的BCD码进行减法运算时,
当低四位或高四位都不需借位时,可得到正确的运算结果。
[例1-15]
已知X=58,Y=25,求X-Y
解: [X]BCD码 =01011000B
- [Y]BCD码 =00100101B00110011B00110011B=[33]BCD码=[58-25]BCD码=[X-Y]BCD码
当低四位或高四位有借位时,按十进制运算规则,向高位借1当10,而计算机中按二进制运算规则进行,借1当作16,因此运算后必须减6进行调整。第75页,共87页,2023年,2月20日,星期日
[例1-16]
已知X=68,Y=49,求X-Y
解: [X]BCD码 = 01101000B
- [Y]BCD码 = 01001001B
差 00011111BAC=1,CY=0
-
0110B 00011001B00011001B=[19]BCD码=[68-49]BCD码=[X-Y]BCD码第76页,共87页,2023年,2月20日,星期日说明:如果指令系统中有BCD码的减法调整指令,即可直接用该指令完成上述调整。如果指令系统中没有BCD码的减法调整指令,则不能用减法指令直接对两个BCD码进行减法运算,而需对减数求补,进行加法运算,然后用加法运算的调整指令进行调整。对八位微机,BCD码的模为100(十进制数),减去减数实现对减数的求补。为在八位加减运算电路中运算,将100表示成9AH,即10011010B,减去减数求补。第77页,共87页,2023年,2月20日,星期日[例1-17]
已知X=68,Y=49,求X-Y
解: [X]BCD码 = 01101000B
- [Y]BCD码 = 01001001B
模100 10011010B
- [Y]BCD码 = 01001001B
+ 01010001B
10111001B
调整 + 01100000B 1 00011001B
这样,在程序中将BCD码的减法运算转换为加法运算,然后利用加法运算的调整指令进行调整,即可得到正确的结果。
求补编写出程序片段:CLRCMOVA,#9AH;(A)=9AHMODSUBBA,#49H;(A)=51HBCDADDA,#68H;(A)=B9H非BCDDAA;(A)=19HBCDCPLC;CY=0无借位,差=19HBCD
求补相加有进位,直接相减位无借位,反之,有借位。第78页,共87页,2023年,2月20日,星期日算术运算小结(结合黑板,举例说明)1、求补码与求补求补码:已知真值求补码求补:两个含义:减法变加法;减数变成模内互补的数。对于无符号数来说,减去一个数,在模内运算则等于加上一个与之互补的数。两个互补的数的和等于模。对于带符号数,由于符号位与数值位一起参与运算,当不溢出时,运算规律与无符号数相同。即把带符号数当作无符号数一样处理。求补的含义转换为:已知[X]补,求[-X]补,减变加即减正变加负,减负变加正。例如:10-1=?按无符号做,10+255=9
按带符号数做,10+[-1]补=10+0FFH=9
(模256丢失)第79页,共87页,2023年,2月20日,星期日
X-Y=X+2n-Y=2n+(X-Y)1、X>=Y,X-Y>=0,则
X-Y=2n+(X-Y)=X-Y,进位为2n,即模2n丢失,也即,X-Y=2n+(X-Y)>=2n
也即,直接相减没借位,求补相加有进位;
2、X<Y,X-Y<0,则
X-Y=2n+(X-Y)<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年店铺增资扩股合同范本
- 2024建筑合同范文(中英版)
- 2024月嫂雇佣的合同模板
- 2024私人购土地合同样本
- 2024年度委托研究合同:新材料开发
- 2024广告屏租赁合同范文
- 2024个人借款还款合同范本
- 联合开办分公司合同模板新
- 全面网络服务合同
- 专业房屋维修合同范本收录
- 5.5《方程的意义》(课件)-2024-2025学年人教版数学五年级上册
- 2021新青岛版六三制三年级上册科学全册知识点总结期末复习背诵资料
- 部编版二年级语文上册看拼音写词语含答案
- 2024年浙江省应急管理行政执法竞赛题库-上(单选、多选题)
- 四肢关节病症推拿治疗-梨状肌综合症患者的推拿治疗
- 房产开发地块收购项目可行性研究报告(完美版)
- JJF 2133-2024海洋资料浮标传感器校准规范
- HGT 6333-2024《煤气化灰水阻垢分散剂阻垢性能测定方法》
- 高三一模“人生需要学会绕行”审题立意及范文(彩色高效版)
- 2023-2024学年江苏省南京玄武区中考语文最后一模试卷含解析
- 职场心理学智慧树知到期末考试答案章节答案2024年山东工商学院
评论
0/150
提交评论