1、微机原理与接口五邑大学五邑大学 容振邦容振邦20072007年年9 9月月19 19日日1联系方式单位:五邑大学 信息学院姓名:容振邦邮件:手机:13422571423内线:79972课程介绍第第1 1章章 数制和码制数制和码制第第2 2章章 8086CPU8086CPU结构与功能结构与功能第第3 3章章 8086CPU8086CPU指令系统指令系统第第4 4章章 汇编语言程序设计汇编语言程序设计第第5 5章章 总线及其形成总线及其形成第第6 6章章 存储器设计存储器设计第第7 7章章 常用芯片的接口技术常用芯片的接口技术第第8 8章章 中断系统与中断控制器中断系统与中断控制器8259A825
2、9A第第9 9章章 定时定时/计数器计数器82538253应用设计应用设计第第1010章章 并行接口芯片并行接口芯片8255A8255A应用设计应用设计3教材国家十一五规划教材:国家十一五规划教材:楼顺天、周佳社编,楼顺天、周佳社编,微机原理与接口技术微机原理与接口技术,科学出版社,科学出版社,2006.82006.84成绩评定总成绩=平时成绩(30%)+考核成绩(70%)平时成绩=考勤(30%)+上课表现(20%)+作业和实验(50%)5实验报告(作业)形式实验报告(电子,打印)电子邮件:邮件主题:nap0604201.chenhao.homework01.ver01.docnap06043
3、01.chenchunyan.experiment01.ver01.docnnumber.name.experimentxx.verxx.doc6课堂和实验要求请将移动通讯设备关闭或置于震动状态教师授课期间,学生不得在下面讲话,有问题请举手发言实验课按时完成任务,不玩游戏,检查完方可离开7学习方法动手自学多问8第第1章章数制与码制数制与码制 本章要点:本章要点:q数制表示法数制表示法q数制之间的转化数制之间的转化q二进制数运算二进制数运算q有符号数的表示有符号数的表示qASCIIASCII码码92.1 二进制数的基础知识二进制数的基础知识一、一、任意进制数的表示任意进制数的表示 任意任意P P
4、进制数进制数N N可以表示成多项式的形式:可以表示成多项式的形式:式中式中i i表示数的某一位,表示数的某一位,表示第表示第i i位的数字,位的数字,P P为基数,为基数,为第为第i i位的权,位的权,M M、N N为正整数。为正整数。=0,1P-10,1P-1。102.1 二进制数的基础知识二进制数的基础知识对于对于n n位整数位整数m m位小数的任意十进制数位小数的任意十进制数N N,有:有:(=0,1,9)=357.32=357.32如如:112.1 二进制数的基础知识二进制数的基础知识对于对于n n位整数位整数m m位小数的任意二进制数位小数的任意二进制数 ,有:有:(=0或1)如如:
5、=122.1 二进制数的基础知识二进制数的基础知识对于对于n n位整数位整数m m位小数的任意十六进制数有:位小数的任意十六进制数有:(=0,1,9,A,B,C,D,E,F)如如:=以上方法称为位置计数法或位置加权法以上方法称为位置计数法或位置加权法132.1 二进制数的基础知识二进制数的基础知识二、二、各种进制间的相互转换各种进制间的相互转换1.十进制十进制任意进制数(设为任意进制数(设为P进制)的转换规则进制)的转换规则(1 1)整数部分:)整数部分:N N 除以除以P P取余数取余数 1616 1818 余数为:余数为:D D=16 16 1 1 余数为:余数为:2 2=16 30116
6、 301 0 0 余数为:余数为:1 1=例例1.1.十进制数十进制数301 301 十六进制数十六进制数转换过程如下:转换过程如下:301=12DH142.1 二进制数的基础知识二进制数的基础知识2 3012 3012 2 150150 余数为:余数为:1 1=2 2 7575 余数为:余数为:0 0=2 2 3737 余数为:余数为:1 1=2 2 1818 余数为:余数为:1 1=2 2 9 9 余数为:余数为:0 0=2 2 2 2 余数为:余数为:0 0=2 2 4 4 余数为:余数为:1 1=2 2 1 1 余数为:余数为:0 0=0 0 余数为:余数为:1 1=例例2.2.十进制
7、数十进制数301 301 二进制数二进制数 转换过程如下:转换过程如下:301=100101101B低位低位高位高位152.1 二进制数的基础知识二进制数的基础知识(2 2)纯小数部分:)纯小数部分:N N乘以乘以P P取整数取整数 例例1.1.十进制小数十进制小数0.6875 0.6875 二进制小数二进制小数 转换过程如下:转换过程如下:0.6875=0.1011B例例2.2.十进制小数十进制小数 十六进制小数十六进制小数转换过程如下:转换过程如下:0.6875=0.BH低位低位高位高位0.50.52 2=1.0 1.0 =1 1 0.750.752 2=1.5 1.5 =1 1 0.37
8、5 0.375 2 2=0.75 0.75 =0 00.68750.68752 2=1.375 1.375 =1 1 0.68750.687516 16=11.0 11.0 =B B 162.1 二进制数的基础知识二进制数的基础知识2.任意进制数任意进制数十进制数的转换规则十进制数的转换规则按权展开,即位置加权法按权展开,即位置加权法1001001011010.101001111 B 1 2 5 A.A 7 8 H如如:3.二进制二进制十六进制数的转换规则十六进制数的转换规则172.1 二进制数的基础知识二进制数的基础知识三、三、二进制数的算术运算二进制数的算术运算 二进制计数制不仅物理实现容
9、易,且运算方法也比二进制计数制不仅物理实现容易,且运算方法也比十进制计数制大为简单,所以计算机中均采用二进制数。十进制计数制大为简单,所以计算机中均采用二进制数。二进制数的算术运算包括加、减、乘、除。二进制数的算术运算包括加、减、乘、除。例:例:1 0 1 1 0 1 0 1 B1 0 1 1 0 1 0 1 B+0 0 0 0 1 1 1 1 B+0 0 0 0 1 1 1 1 B 、1 1 0 0 0 1 0 01 1 0 0 0 1 0 0 B B、1 0 1 1 0 1 0 1 B1 0 1 1 0 1 0 1 B-0 0 0 0 1 1 1 1 B-0 0 0 0 1 1 1 1 B
10、1 0 1 0 0 1 1 01 0 1 0 0 1 1 0 B B182.1 二进制数的基础知识二进制数的基础知识四、四、二进制数的逻辑运算二进制数的逻辑运算二进制数的逻辑运算包括与、或、异或、非四种运算二进制数的逻辑运算包括与、或、异或、非四种运算。1 0 1 1 0 1 0 1 B1 0 1 1 0 1 0 1 B 0 0 0 0 1 1 1 1 B0 0 0 0 1 1 1 1 B1 0 1 1 1 1 1 11 0 1 1 1 1 1 1 B B1 0 1 1 0 1 0 1 B1 0 1 1 0 1 0 1 B 0 0 0 0 1 1 1 1 B0 0 0 0 1 1 1 1 B1
11、 0 1 1 1 0 1 01 0 1 1 1 0 1 0 B B1 0 1 1 0 1 0 1 B1 0 1 1 0 1 0 1 B例:例:0 0 0 0 1 1 1 1 B0 0 0 0 1 1 1 1 B0 0 0 0 0 1 0 10 0 0 0 0 1 0 1 B BX X=1 0 1 1 0 1 0 1 B 1 0 1 1 0 1 0 1 B =0 1 0 0 1 0 1 00 1 0 0 1 0 1 0 B B192.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题一、一、有符号二进制数的表示方法有符号二进制数的表示方法 前面我们接触的二进制数均为无符号数
12、,即所有二前面我们接触的二进制数均为无符号数,即所有二进制数位均为数值位,很多情况下都是这样对待的。但进制数位均为数值位,很多情况下都是这样对待的。但在有些情况下,有些数值是带符号的,即可能是正数,在有些情况下,有些数值是带符号的,即可能是正数,也可能是负数。这样就存在一个有符号二进制数的表示也可能是负数。这样就存在一个有符号二进制数的表示方法问题。方法问题。1.数的符号表示方法数的符号表示方法 为了表示一个有符号数,除了数值位以外,还应制为了表示一个有符号数,除了数值位以外,还应制定定符号位符号位,通常以这个数的最高位表示符号位。,通常以这个数的最高位表示符号位。202.2 有符号二进制数的
13、表示方法及溢出问题有符号二进制数的表示方法及溢出问题 我们假定讨论的数为整数,对我们假定讨论的数为整数,对8 8位有符号二进制整位有符号二进制整数,用下表示:数,用下表示:数值部分数值部分符号位符号位0 0:表示正数:表示正数1 1:表示负数:表示负数 这种表示方法称为这种表示方法称为机器数表示法机器数表示法。有符号二进制数。有符号二进制数的真值为它对应的十进制数。的真值为它对应的十进制数。212.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题2.原码表示法原码表示法 如果正数的符号位用如果正数的符号位用0 0表示,负数的符号位用表示,负数的符号位用1 1表示,表示,
14、绝对值的编码规则与前面讲的无符号数编码规则相同,绝对值的编码规则与前面讲的无符号数编码规则相同,这种表示方法称为原码表示法。这种表示方法称为原码表示法。一个数一个数X X的原码记为:的原码记为:原原X数值部分数值部分=绝对值绝对值(用无符号二进制数表示用无符号二进制数表示)符号位符号位 0 0 0 0 0 0 1 1+3+3的表示的表示 =00000011B 原原+3222.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题 1 0 0 0 0 0 1 1-3-3的表示的表示 =10000011B原原-3原原+0原原-0=0 0 0 0 0 0 0 0B=1 0 0 0
15、0 0 0 0B数数0 0的两种表示方法的两种表示方法对对8 8位有符号二进制数用原码表示的范围:位有符号二进制数用原码表示的范围:正数从正数从00000000 0111111100000000 01111111,+0 +127+0 +127 负数从负数从10000000 1111111110000000 11111111,-0 -127-0 -127232.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题优点:优点:表示简单,易于理解,真值转换方便。表示简单,易于理解,真值转换方便。缺点:缺点:+、-运算麻烦。因为它仅仅是将其值的符号用一运算麻烦。因为它仅仅是将其值的
16、符号用一位二进制数表示,因而它的原码数的位二进制数表示,因而它的原码数的+、-运算完全同笔运算完全同笔算。如两个正数相减,计算机首先要判断被减数的绝对算。如两个正数相减,计算机首先要判断被减数的绝对值与减数的绝对值的大小,然后决定是颠倒过来相减,值与减数的绝对值的大小,然后决定是颠倒过来相减,还是直接相减。最后在结果的前面加上正确的正负号。还是直接相减。最后在结果的前面加上正确的正负号。所以,势必增加运行时间,降低速度,使运算器的逻辑所以,势必增加运行时间,降低速度,使运算器的逻辑复杂化。为了改进它,引进了补码的概念。复杂化。为了改进它,引进了补码的概念。有符号二进制数用原码表示的优缺点:有符
17、号二进制数用原码表示的优缺点:242.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题3.补码表示法补码表示法(1 1)补码的概念)补码的概念一个数一个数X X的补码记为的补码记为 ,补码可定义为:,补码可定义为:补补X补补x=x 当当 当当(mod )从定义可见,正数的补码从定义可见,正数的补码=原码,即原码,即,所以,只有负数求补的问题。,所以,只有负数求补的问题。补补x原原x=252.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题(2 2)一个数的补码的求法)一个数的补码的求法根据定义求补码根据定义求补码补补x=,x+127溢出溢出010
18、01000B01100010B10101010B+补补+72补补-86补补+98有进位有进位=1无进位无进位=0溢出,结果出错(正溢出)溢出,结果出错(正溢出)设设次高位(数值部次高位(数值部分最高位)向最高分最高位)向最高位(符号位)的进位(符号位)的进位标志为位标志为 ;最最高位(符号位)和高位(符号位)和次高位的进位相加次高位的进位相加的进位标志为的进位标志为 。372.2 有符号二进制数的表示方法及溢出问题有符号二进制数的表示方法及溢出问题例:例:(-83)+(-80)=-16399时,高位进行时,高位进行加六修正。例:例:94+794+7=10110147 2.3 二进制编码的十进制
19、数(二进制编码的十进制数(BCD编码)编码)1 0 0 1 0 1 0 0 941 0 1 0 0 0 0 1 高高4 4位满足法则位满足法则3 30 0 0 0 0 1 1 1 71 0 0 1 1 0 1 1 低低4 4位满足法则位满足法则2 2+0 0 0 0 0 1 1 0 加六修正+0 1 1 0 0 0 0 0 加六修正+10 0 0 0 0 0 0 1 101结果正确结果正确48 2.3 二进制编码的十进制数(二进制编码的十进制数(BCD编码)编码)减六修正规则:(1 1)如果两个)如果两个BCDBCD码位相减没有借位,则该位不需修正。码位相减没有借位,则该位不需修正。(2 2)
20、如果两个)如果两个BCDBCD码位相减有借位,则该位进行码位相减有借位,则该位进行减六修正。例:例:50502929=212149 2.3 二进制编码的十进制数(二进制编码的十进制数(BCD编码)编码)0 1 0 1 0 0 0 0 500 0 1 0 0 0 0 1 2121结果正确结果正确0 0 1 0 1 0 0 1 290 0 1 0 0 1 1 1 低码位有借位低码位有借位0 0 0 0 0 1 1 0 减六修正502.4 ASCII字符代码字符代码ASCII 美国国家信息标准交换码美国国家信息标准交换码ASCII 用用7位二进制代码对任一字符编码,包括:位二进制代码对任一字符编码,
21、包括:3232个通用控制符个通用控制符0-9 100-9 10个数字个数字5252个英文大小写字母个英文大小写字母3434个专用符号个专用符号共共128128个个要求掌握常用字符的要求掌握常用字符的ASCII码:码:09,AZ,az,空格,回车,换行,空格,回车,换行,Esc512.4 ASCII字符代码字符代码52作业作业本章习题:本章习题:1.(1)1.(1)(2 2)2.2.(2 2)(4)(6)(4)(6)3.3.(1 1)(2)(2)4.4.(1 1)()(2 2)5.5.(1 1)(2)(2)6.6.(1 1)()(2 2)()(6 6)7.7.(1 1)()(2 2)()(3 3)8.8.(1 1)()(2 2)(3)(4)(3)(4)9.9.(1 1)()(2 2)(5)(6)(5)(6)10.(2)()(3)11.11.(2 2)()(4 4)12.(1)()(3)(5)(8)13.(1)()(4)14.(1)()(2)15.(3)()(6)16.(2)17.(1)()(2)53