《微机原理及应用》由会员分享,可在线阅读,更多相关《微机原理及应用(42页珍藏版)》请在金锄头文库上搜索。
1、微型原理及应用微型原理及应用微机原理及应用微机原理及应用王德志微型原理及应用微型原理及应用2n授课教师:王德志授课教师:王德志(计算机系计算机系)n理论课:理论课:28学时:学时:1-12周周 周周 一、周三一、周三n实验课:实验课:4学时:学时:2次:次: 13、14周周 综合性实验综合性实验n教材:微机原理及应用教材:微机原理及应用 徐晨徐晨n参考书:参考书:80X86微机原理及接口技术微机原理及接口技术习题解答与实验指导习题解答与实验指导 余春暄等编著余春暄等编著 机械工业出版社机械工业出版社n答疑:周四答疑:周四 下午下午 1-n考试:闭卷考试:闭卷 15周以后周以后n成绩:考试成绩:
2、考试70% ,综合实验,综合实验10%,平时成绩,平时成绩20%微型原理及应用微型原理及应用3授课内容授课内容n第一章至第十一章第一章至第十一章n重点:第三章,第六章,第八章,第九章重点:第三章,第六章,第八章,第九章微型原理及应用微型原理及应用4汇编语言 及 接口 技术典型语言:典型语言:INTEL 80X86INTEL 80X86MASM32V5MASM32V5:80X86 80X86 编译器等编译器等I/OI/O接口电路及与外设的连接接口电路及与外设的连接硬件接口电路原理硬件接口电路原理软件接口编程方法软件接口编程方法微型原理及应用微型原理及应用5先修课程数字逻辑提供硬件基础微型原理及应
3、用微型原理及应用第一章 基础知识王德志王德志微型原理及应用微型原理及应用7本章重点本章重点n计算机中的常用计数制、编码及它们计算机中的常用计数制、编码及它们 相互间的转换相互间的转换n二进制数的算术运算和逻辑运算二进制数的算术运算和逻辑运算n带符号二进制数的表示及补码运算带符号二进制数的表示及补码运算微型原理及应用微型原理及应用81.1 计算机中的数制数制数制是人们利用符号来计数的科学方法。数制可以有很多是人们利用符号来计数的科学方法。数制可以有很多种,但在计算机的设计和使用上常用的则为十进制、种,但在计算机的设计和使用上常用的则为十进制、二机制、八进制和十六进制。二机制、八进制和十六进制。
4、数制的基和权数制的基和权数制所使用的数码的个数称为基,数制每一位所具有数制所使用的数码的个数称为基,数制每一位所具有的值称为权的值称为权微型原理及应用微型原理及应用9十进制:十进制: 基为基为“1010”,权为以,权为以1010为底的幂,为底的幂, D D二进制:二进制: 基为基为“2 2”,权为以,权为以2 2为底的幂,为底的幂, B B八进制:八进制: 基为基为“8 8”,权为以,权为以8 8为底的幂,为底的幂, O O十六进制:基为十六进制:基为“1616”,权为以,权为以1616为底的幂为底的幂 H H数制的基与权十进制数十进制数: :二进制数二进制数: :微型原理及应用微型原理及应用
5、10数 制 的 转 换十进制数十进制数十进制数十进制数转换成二进制代码的方法:转换成二进制代码的方法: 对于十进制数整数部分采用除对于十进制数整数部分采用除2 2取余法取余法 对于十进制数小数部分采用乘对于十进制数小数部分采用乘2 2取整法取整法 例例1:求十进制数:求十进制数17的二进制代码的二进制代码例例2:求十进制数:求十进制数0.25的二进制代码的二进制代码习习 题题返回返回思考:如何完成十进制数向十六进制数的转换?思考:如何完成十进制数向十六进制数的转换?微型原理及应用微型原理及应用11例例1 1:求十进制数:求十进制数1717的二进制代码的二进制代码被除数被除数 除数除数 商商 余
6、数余数 17 2 8 1 8 2 4 0 4 2 4 0 2 2 1 01 10 00 00 01 1D D0 0D D1 1D D2 2D D3 3D D4 4方法总结:对于十进制数整数部分采用除方法总结:对于十进制数整数部分采用除2取余法取余法微型原理及应用微型原理及应用12例例2 2:求十进制数:求十进制数0.250.25的二进制代码的二进制代码被乘数被乘数 乘数乘数 积积 取整取整 0.25 2 0.5 0 0.5 2 1.0 1 0 01 D-1 D-20 D0方法总结:对于十进制数小数部分采用乘方法总结:对于十进制数小数部分采用乘2取整法取整法 微型原理及应用微型原理及应用13数
7、制 的 转 换二进制数二进制数11011.0111 幂幂24232221202-12-22-32-4 权权1684210.50.250.125.0625 数数 值值16802100.250.125.0625十进制数十进制数16 + 8 + 0 + 2 + 1 + 0 + .25 + .125 + .0625 = 27.4375例例例例3 3:将二进制代码:将二进制代码:将二进制代码:将二进制代码11011.011111011.0111转换为十进制数转换为十进制数转换为十进制数转换为十进制数微型原理及应用微型原理及应用14数 制 的 转 换 例例4: 4: 将下面给出的二进制数转换成十六进制的数
8、将下面给出的二进制数转换成十六进制的数注注意意二二进进制制数数转转换换为为十十六六进进制制数数的的方方法法: 从从小小数数点点开开始始分分别别向向左左和和向向右右把把整整数数和和小小数数部部分分每每四四位位分分段段,每每段段分分别别转转换换为为一一位位。若若整整数数最最高高位位的的一一组组不不足足位位,则则在在其其左左边边补补零零;若若小小数数最最低低位位的的一一组组不不足足位位,则则在在其其右右边边补补零零0010000001011010011111100100十六进制数十六进制数205A7E4二进制数二进制数微型原理及应用微型原理及应用15数 制 的 转 换二进制二进制十进制十进制十六进制
9、十六进制二进制二进制十进制十进制十六进制十六进制000000100088000111100199001022101010A001133101111B010044110012C010155110113D011066111014E011177111115F微型原理及应用微型原理及应用16无符号数的表示范围0 0 X 2X 2n n-1-1若运算结果超出这个范围,则产生溢出。若运算结果超出这个范围,则产生溢出。无符号数的溢出判断准则:运算时,当最高位向更无符号数的溢出判断准则:运算时,当最高位向更高位有进位(或借位)时则产生溢出。高位有进位(或借位)时则产生溢出。 设:二进制数设:二进制数X有有n位
10、,则位,则X的取值范围为的取值范围为微型原理及应用微型原理及应用17例: 最高位向前有进位,产生溢出最高位向前有进位,产生溢出00000000 100000001 11111111 +微型原理及应用微型原理及应用181.4 1.4 带符号二进制数的表示及运算带符号二进制数的表示及运算计算机中的符号数可表示为:计算机中的符号数可表示为: 符号位符号位+真值真值 机器数机器数 “0” 表示正表示正 “1” 表示负表示负微型原理及应用微型原理及应用19例: +52 = +0110100 = 0 0110100 符号位 真值 -52 = -0110100 = 1 0110100 符号位 真值微型原理及
11、应用微型原理及应用201. 1. 符号数的表示:符号数的表示:n原码原码: :真值真值X X的原码记为的原码记为XX真,真,在原码表示法中不论在原码表示法中不论数的正负,数值部分均保持原真值不变。数的正负,数值部分均保持原真值不变。n反码反码: :真值真值X X的反码记为的反码记为XX反。反。正数的反码同原码。正数的反码同原码。负数的反码的数值部分为真值的各位按位取反。负数的反码的数值部分为真值的各位按位取反。n补码:补码:真值真值X X的补码记为的补码记为XX补。补。正数的补码同原码。正数的补码同原码。负数的补码的数值部分为真值的各位按位取反加负数的补码的数值部分为真值的各位按位取反加1 1
12、。微型原理及应用微型原理及应用21原码:n最高位为符号位,用“0”表示正,用“1”表示负;其余为真值部分n优点: 真值和其原码表示之间的对应关系简单,容易理解n缺点: 计算机中用原码进行加减运算比较困难,0的表示不唯一 8位数位数0的原码:的原码:+0=0 0000000 -0=1 0000000微型原理及应用微型原理及应用22对一个机器数对一个机器数X:n若若X0 ,则则 X反反=X原原n若若X0, 则则X补补= X反反= X原原若若X0, 则则X补补= X反反+1例例: X= 52= 0110100 X原原=10110100 X反反=11001011 X补补= X反反+1=11001100
13、微型原理及应用微型原理及应用240 0的补码:的补码:表示唯一表示唯一+0补= +0原=00000000-0补= -0反+1=11111111+1 =1 00000000 对8位字长,进位被舍掉微型原理及应用微型原理及应用25特殊数特殊数1000000010000000n该数在该数在原码原码中定义为:中定义为: -0 -0n在在反码反码中定义为:中定义为: -127 -127n在在补码补码中定义为:中定义为: -128 -128n对对无符号无符号数,(数,(1000000010000000)B B=128=128微型原理及应用微型原理及应用26带符号数的表示范围:对对8位二进制数:位二进制数:
14、n原码:原码: -127 +127n反码:反码: -127 +127n补码:补码: -128 +127符号二进制数与十进制的转换对用补码表示的二进制数转换成十进制:对用补码表示的二进制数转换成十进制: 1)求出真值)求出真值 2)进行二)进行二十转换十转换微型原理及应用微型原理及应用27 例例 :将一个用补码表示的二进制数转换为十进制数将一个用补码表示的二进制数转换为十进制数nX补补=0 0101110B 真值为:真值为:0101110B 正数正数 所以:所以:X=+46nX补补=1 1010010B 真值为:真值为:-010010B 负数负数 从而有:从而有:X=X补补补补=11010010
15、补补 =-0101110 =-46微型原理及应用微型原理及应用282. 2. 符号数的算术运算符号数的算术运算n通过引进补码,可将减法运算转换为加法运算通过引进补码,可将减法运算转换为加法运算 即:即:X+Y补补=X补补+Y补补 X-Y补补=X+(-Y)补补 =X补补+-Y补补微型原理及应用微型原理及应用29 例例 :X=-0110100,Y=+1110100,求求X+Y=?nX原原=10110100 nX补补= X反反+1=11001100nY补补= Y原原=01110100n所以:所以: X+Y补补= X补补+ Y补补 =11001100+01110100 =01000000无论正负,真值
16、不变无论正负,真值不变微型原理及应用微型原理及应用30n对二进制数,乘以对二进制数,乘以2相当于左移一位相当于左移一位二进制数的乘法运算000010110100=00101100B 例例 :方法:方法:1 1 按照十进制的乘法过程按照十进制的乘法过程 2 2 采用移位加的方法采用移位加的方法微型原理及应用微型原理及应用31n对二进制数,除以对二进制数,除以2则相当于右移则相当于右移1位位二进制数的除法运算000010110100=00000010B 即:商即:商=00000010B 余数余数=11B 例例 :微型原理及应用微型原理及应用321.1.5 5 二进制编码二进制编码nBCDBCD码:
17、码:用二进制编码表示的十进制数用二进制编码表示的十进制数 ,计数规律与十进制相同,计数规律与十进制相同“逢十进一逢十进一” ” nASCIIASCII码:码:美国国家标准信息交换码,用美国国家标准信息交换码,用七位二进制编码表示七位二进制编码表示128128个字符和符号个字符和符号微型原理及应用微型原理及应用33BCDBCD码码n压缩压缩BCD码码 用用4位二进制码表示一位十进制数位二进制码表示一位十进制数n扩展扩展BCD码码 用用8位二进制码表示一位十进制数位二进制码表示一位十进制数微型原理及应用微型原理及应用34BCDBCD码与二进制数之间的转换码与二进制数之间的转换n先转换为十进制数,再
18、转换二进制数;反之亦然先转换为十进制数,再转换二进制数;反之亦然n例例:(:(0001 0001 .0010 0101)BCD =11 .25 =(1011 .01) B微型原理及应用微型原理及应用35例例3 3 : : 写出十进制数写出十进制数35903590的非压缩的非压缩BCDBCD码和压缩的码和压缩的BCDBCD码,码, 并分别把它们存入数据区并分别把它们存入数据区UNPAKUNPAK和和PAKED.PAKED. 例题讲解例题讲解 解:解:0 0H0 9H0 5H0 3H UNPAK + 0 + 1 + 2 + 3 + 0 + 19 0HPAKED3 5H返回返回微型原理及应用微型原理
19、及应用36ASCIIASCII码码n字符的编码,一般用字符的编码,一般用7位二进制码表示。在位二进制码表示。在需要时可在需要时可在D7位加校验位。位加校验位。n熟悉熟悉0F的的ASCII码码n附录附录1微型原理及应用微型原理及应用37ASCIIASCII码的校验码的校验n奇校验奇校验 加上校验位后编码中加上校验位后编码中“1”的个数为奇数。的个数为奇数。 例:例:A的的ASCII码是码是41H(1000001B),), 以奇校验传送则为以奇校验传送则为C1H(11000001B)n偶校验偶校验 加上校验位后编码中加上校验位后编码中“1”的个数为偶数。的个数为偶数。 A若以偶校验传送则为若以偶校
20、验传送则为41H (01000001B)微型原理及应用微型原理及应用381.6 计算机中常用术语计算机中常用术语nbitn1Kb=1024bit=210bitn1Mb=1024 1024bit=220bitn1Gb=230bit=1024Mbn1Tb=240bit=1024GbnByten1 Byte=8bit,1KB=1024 Bytenword:表示字长,有表示字长,有1bit,4bit,8bit等等微型原理及应用微型原理及应用39 习习 题题有一个有一个1616位的数值位的数值01010101,00000000,01000100,00110011: (1 1)如果它是一个二进制数,和它等
21、值的十进制数是多少?)如果它是一个二进制数,和它等值的十进制数是多少?(2 2)如果它们是)如果它们是ASCIIASCII码字符,则是什么字符?码字符,则是什么字符?(3 3)如果它们是压缩的)如果它们是压缩的BCDBCD码,它表示的数是什么?码,它表示的数是什么?2054720547答:答:答:答:PCPC 答答:50435043微型原理及应用微型原理及应用40 习习 题题1、用除法将下列十进制数转换为二进制数和、用除法将下列十进制数转换为二进制数和16进制数。进制数。(1) 369(2) 32767101110001 1000 0000 0000 00018001 171二进制二进制答:答:16进制进制二进制二进制16进制进制答:答:微型原理及应用微型原理及应用41 习习 题题2、将下列二进制数转换为、将下列二进制数转换为16进制数和十进制数。进制数和十进制数。(1) 101101(2) 11111111十进制十进制答:答:16进制进制452D十进制十进制答:答:16进制进制255FF微型原理及应用微型原理及应用423 3、什么叫原码、反码及补码?、什么叫原码、反码及补码?答案答案:凡是二进制的数都称为原码;原码的各位都取其非凡是二进制的数都称为原码;原码的各位都取其非值则称为反码;补码则等于反码加值则称为反码;补码则等于反码加1 1。 习习 题题