微机原理第一章课件_第1页
微机原理第一章课件_第2页
微机原理第一章课件_第3页
微机原理第一章课件_第4页
微机原理第一章课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12007. 6. 13微机原理、汇编与接口技术朱定华朱定华21.11.11.21.21.31.31.41.4计算机的数和编码计算机的数和编码逻辑单元与逻辑部件逻辑单元与逻辑部件微型计算机的结构和工作原理微型计算机的结构和工作原理 8086/8088 8086/8088微处理器微处理器1.51.5 8086/8088 8086/8088的存储器结构与堆栈的存储器结构与堆栈31.1.1 1.1.1 计算机中的数制计算机中的数制 常用数制常用数制-二二, ,十十, ,十六进制十六进制 为了区别为了区别3 3种不同数制,约定种不同数制,约定l目前在计算机中,数几乎全部用二进制表示目前在计算机中,数几

2、乎全部用二进制表示l为书写方便为书写方便, ,微机中的二进制数用十六进制数缩写微机中的二进制数用十六进制数缩写l人们最熟悉、最常用的是十进制数人们最熟悉、最常用的是十进制数 l数后加数后加B B表示二进制数表示二进制数l带带D D或不带字母符号表示十进制数或不带字母符号表示十进制数l带带H H表示十六进制数表示十六进制数 4十进制、二进制、十六进制数之间的关系表十进制、二进制、十六进制数之间的关系表5数制间转换数制间转换二进制整数二进制整数十六:从右(最低位)向左将二进制十六:从右(最低位)向左将二进制数数4 4位位1 1组划分,最后一组若不足组划分,最后一组若不足4 4位则在其左边补位则在其

3、左边补0 0,每组用每组用1 1位十六进制数表示位十六进制数表示如:如: 1111111000111B 1111111000111B 1 1111 1100 0111B 1 1111 1100 0111B 0001 1111 1100 0111B = 1FC7H0001 1111 1100 0111B = 1FC7H十六十六二:用二:用4 4位二进制数代替位二进制数代替1 1位十六进制数位十六进制数(1 1)二)二十六十六如:如: 3AB9H = 0011 1010 1011 1001B 3AB9H = 0011 1010 1011 1001B 6数制间转换数制间转换十六十六十:将十六进制数按

4、权展开相加十:将十六进制数按权展开相加十进制整数十进制整数十六:除十六:除1616取余法取余法(2 2)十六)十六十十如:如: 38947=9823H 38947=9823H如:如: 1F3DH=16 1F3DH=163 31 116162 2151516161 13 316160 01313 =4096 =40961 1256256151516163 31 11313 =4096 =409638403840484813=799713=7997 16 38947 316 38947 3 16 2434 2 16 2434 2 16 152 8 16 152 8 16 9 9 16 9 9 0

5、0余数倒序排列余数倒序排列71.1.2 1.1.2 符号数的表示方法符号数的表示方法l用数的符号和数值部分一起编码的方法表示符号用数的符号和数值部分一起编码的方法表示符号数数l只有只有8 8位位( (字节字节) )、1616位位( (字字) )或或3232位位( (双字双字) )机器数的机器数的最高位才是符号位。最高位为最高位才是符号位。最高位为0 0正数正数, ,为为 11负负数数l区分:机器数、真值、无符号数区分:机器数、真值、无符号数l掌握符号数的三种常用表示法:原码,反码,补掌握符号数的三种常用表示法:原码,反码,补码码8数值用其绝对值数值用其绝对值,正数的符号位用,正数的符号位用0

6、0表示,负数表示,负数的符号位用的符号位用1 1表示表示如:如: X1= 105=+1101001B X1 X1= 105=+1101001B X1原原=01101001B=01101001B X2=-105=-1101001B X2 X2=-105=-1101001B X2原原=11101001B=11101001B(1 1)原码)原码9注:注:l原码表示的数原码表示的数,8,8位数中位数中,D7,D7位为符号位位为符号位, ,其余其余7 7位为位为数值位数值位( (为真值的绝对值为真值的绝对值) )l8 8位原码数的数值范围为位原码数的数值范围为FFHFFH7FH7FH(-127-1271

7、27127););1616位原码数的数值范围为位原码数的数值范围为FFFFHFFFFH7FFFH7FFFH(-32767-327673276732767)l原码表示简单易懂原码表示简单易懂, ,且与真值转换方便且与真值转换方便, ,但内部运但内部运算复杂算复杂, ,为简化计算机结构为简化计算机结构, ,引进了反码和补码引进了反码和补码10注:注: 一个负数的反码的数值部分并不是其真值的绝一个负数的反码的数值部分并不是其真值的绝对值对值, ,要按位取反才能求得真值的绝对值要按位取反才能求得真值的绝对值正数的反码与原码相同;负数的反码为它的正数的反码与原码相同;负数的反码为它的绝对绝对值连同符号位

8、按位取反值连同符号位按位取反如:如: X1= 105=+1101001B X1 X1= 105=+1101001B X1反反=01101001B=01101001B X2=-105=-1101001B X2 X2=-105=-1101001B X2反反=10010110B=10010110B(2 2)反码)反码11正数的补码与原码相同;负数的补码为正数的补码与原码相同;负数的补码为其绝对值的其绝对值的补数补数补数补数有两种求法:有两种求法:l按位取反后再加按位取反后再加1 1l从最低位向最高位扫描,保留直至第一个从最低位向最高位扫描,保留直至第一个“1 1”的所有的所有“0 0”位,第一个位,

9、第一个“1 1”左边各位按位取反左边各位按位取反如:如:X1= 105=+1101001B X1X1= 105=+1101001B X1补补=01101001B=01101001B X2=-105=-1101001B X2 X2=-105=-1101001B X2补补=10010111B=10010111B对补码表示的负数求补可以得到其绝对值对补码表示的负数求补可以得到其绝对值如:如: -105 -105补补=10010111B=97H=10010111B=97H 求补,得:求补,得:01101001=69H=10501101001=69H=105,即补码表示的机器数,即补码表示的机器数97H

10、97H的真值是的真值是-69H-69H(=-105=-105)(3 3)补码)补码12注:注:l一个补码数,若最高位为一个补码数,若最高位为0 0,则该数即为此数的绝对值;,则该数即为此数的绝对值;若最高位为若最高位为1 1,则其补数为该数的绝对值,则其补数为该数的绝对值l8 8位补码数的范围:位补码数的范围:80H80H7FH7FH(-128-128127127).16.16位补码位补码数的范围:数的范围:8000H8000H7FFFH7FFFH(-32768-327683276732767)l补码数补码数80H80H和和8000H8000H的最高位既代表了符号为负又代表的最高位既代表了符号

11、为负又代表了数值为了数值为1 1l1 1个二进制补码数的符号位向左扩展若干位后,所得到个二进制补码数的符号位向左扩展若干位后,所得到的补码数的真值不变的补码数的真值不变 如:如:6868补补=44H=44H字节,字节, 68 68补补=0044H=0044H字字 -68 -68补补= BCH = BCH 字节,字节, -68 -68补补= FFBCH= FFBCH字字l微机中,符号数用微机中,符号数用补码补码表示!表示!131.1.3 1.1.3 二进制数的加减运算二进制数的加减运算 二进制加法规则二进制加法规则: : 二进制减法规则二进制减法规则: :0+0=00+0=00+1=1+0=10

12、+1=1+0=11+1=0 1+1=0 进位进位1 10-0=00-0=01-0=11-0=11-1=01-1=00-1=10-1=1 借位借位1 1 计算机把机器数均当作无符号数进行运算,计算机把机器数均当作无符号数进行运算,即符号位也参与运算即符号位也参与运算141 ) 1 ) 两个无符号数相加两个无符号数相加-和为正数和为正数. .当和超过当和超过其位数所允许的范围时,向更其位数所允许的范围时,向更高位进位高位进位,用,用CFCF表示表示如:如: 59+164=3BH + 0A4H59+164=3BH + 0A4H 127127160=7FH160=7FHA0HA0H =0DFH =11

13、FH=287 =0DFH =11FH=287 无进位,无进位,CF=0 CF=0 有进位,有进位,CF=1CF=1(1 1)无符号数的运算)无符号数的运算 0011 10110011 1011+ 1010 0100+ 1010 01001101 11111101 1111 0111 11110111 1111+ 1010 0000+ 1010 000010001 111110001 1111进位进位15192-10=C0H-0AH192-10=C0H-0AH =B6H =182 =B6H =182无借位,无借位,CF=0CF=010-192=0AH-C0H 10-192=0AH-C0H =-B

14、6H=-182=-B6H=-182有借位,有借位,CF=1CF=1 1100 0000 1100 0000- 0000 1010- 0000 10101011 01101011 0110 0000 1010 0000 1010- 1100 0000- 1100 000010100 101010100 1010借位借位 结论:结论:对无符号数进行减法运算,其结果的符号用进位来对无符号数进行减法运算,其结果的符号用进位来判别:判别:CF=0(CF=0(无借位无借位) )结果为正;结果为正;CF=1(CF=1(有借位有借位) )结果为负结果为负如:如:2 )2 )两个无符号数相减两个无符号数相减-被

15、减数大于或等于减数,无借被减数大于或等于减数,无借位,结果为正;被减数小于减数,有借位,结果为负。位,结果为正;被减数小于减数,有借位,结果为负。16两数进行运算两数进行运算, ,结果超出表示范围会产生结果超出表示范围会产生溢出溢出; ;用用OFOF表示表示(2 2)符号数的运算)符号数的运算如:如:105+50 = 155 105+50 = 155 127127,超出范围,产生溢出,超出范围,产生溢出又如:又如:-105-50 = -155 -105-50 = -155 -128-128 ,超出范围,产生溢出,超出范围,产生溢出 0110 10010110 1001+ 0011 0010+

16、0011 00101001 10111001 1011=155 =155 视为无符号数,结果正确视为无符号数,结果正确=-65H=-65H结果为负,错误,溢出,结果为负,错误,溢出,0F=10F=1 1001 01111001 0111+ 1100 1110+ 1100 111010110 010110110 0101进位进位=-155 =-155 将进位视为符号,结果正确将进位视为符号,结果正确=65H=65H结果为正,错误,溢出,结果为正,错误,溢出,0F=10F=117说明说明: : l将多位二进制数拆成多部分运算时将多位二进制数拆成多部分运算时, ,数的低位部分数的低位部分均为无符号数

17、均为无符号数, ,只有只有高位部分才为符号数高位部分才为符号数l注意区分进位与溢出注意区分进位与溢出l溢出不同于补码运算中的进位或借位丢失溢出不同于补码运算中的进位或借位丢失 如:如: -50-5 = -55 -50-5 = -55 1100 111000 1110+ 1111 1011+ 1111 101111100 1001= -00110111B= -5511100 1001= -00110111B= -55进位丢失进位丢失 结果正确,无溢出结果正确,无溢出18判断补码运算有无溢出的方法:判断补码运算有无溢出的方法: 0110 10010110 1001+ 0011 0010+ 0011

18、 00101001 10111001 1011C CY Y=0=0, C CS S=1=1OF=0OF=0 1=1,1=1,有溢出有溢出如:如:105+50105+50C CY Y=1=1, C CS S=0=0 1001 01111001 0111+ 1100 1110+ 1100 1110 1 0110 0101 1 0110 0101OF=1OF=1 0=1,0=1,有溢出有溢出-105-50-105-50C CY Y=1=1, C CS S=1=1 1100 11101100 1110+ 1111 1011+ 1111 1011 1 1100 1001 1 1100 1001 OF=1

19、 OF=1 1=0,1=0, 无溢出无溢出-50-5-50-5设符号位向进位位的进位为设符号位向进位位的进位为C CY Y,数值部分向符号位,数值部分向符号位的进位为的进位为C CS S,则溢出判别式为:,则溢出判别式为: OF=C OF=CY Y C CS S 当当OF=1OF=1时,有溢出;当时,有溢出;当OF=0OF=0时,无溢出时,无溢出191.1.4 1.1.4 二进制数的逻辑运算与逻辑电路二进制数的逻辑运算与逻辑电路 (1 1)逻辑非)逻辑非按位求反按位求反 (2 2)逻辑乘)逻辑乘( (逻辑与逻辑与)按位求按位求“与与”如:如:A=01100001B,B=11001011BA=0

20、1100001B,B=11001011B A=10011110B,B=00110100B A=10011110B,B=00110100B规则:规则:=0=0,=0,1=0,10=0,10=0,11=11=1 如:如:01100001B01100001B11001011B=0100 0001B11001011B=0100 0001B20 (3 3)逻辑加)逻辑加( (逻辑或逻辑或)按位求按位求“或或” (4 4)逻辑异或)逻辑异或 ( (按位加按位加)按位求模和按位求模和规则:规则:0 00=0,00=0,01=1,11=1,10=1,10=1,11=11=1 如:如:01100001B0110

21、0001B11001011B=11101011B11001011B=11101011B规则:规则:0+0=0,0+1=1,1+0=1,1+1=00+0=0,0+1=1,1+0=1,1+1=0 如:如:01100001B 01100001B 11001011B=10101010B 11001011B=10101010B (5 5)正逻辑与负逻辑)正逻辑与负逻辑正逻辑正逻辑高电平表示逻辑,低电平表示逻辑高电平表示逻辑,低电平表示逻辑0 0负逻辑负逻辑高电平表示逻辑高电平表示逻辑 0 0,低电平表示逻辑,低电平表示逻辑1 1211.1.5 1.1.5 二进制编码二进制编码(1 1)二进制编码的十进制

22、数)二进制编码的十进制数 即用二进制表示的十进制数,简称即用二进制表示的十进制数,简称BCDBCD数数 (binary coded decimal)binary coded decimal),常用的是,常用的是8421 8421 BCDBCD码码 计算机里,字母、各种符号以及指挥计算机执计算机里,字母、各种符号以及指挥计算机执行操作的指令,均用二进制数的组合表示,称为二行操作的指令,均用二进制数的组合表示,称为二进制编码进制编码228421 BCD8421 BCD编码表编码表压缩压缩BCDBCD数数用用8 8位位二进制数表示二进制数表示2 2个个十进制数位十进制数位非压缩非压缩BCDBCD数数

23、用用8 8位位二进制数表示二进制数表示1 1个个十进制数位十进制数位如:如:1919 压缩压缩BCDBCD 0001 1001 = 19H0001 1001 = 19H 19 19 非压缩非压缩BCDBCD 00000001 00001001 = 0109H00000001 00001001 = 0109H23说明:说明:l十进制数与十进制数与BCDBCD数的转换数的转换 查查8421 BCD8421 BCD编码表编码表直接直接lBCDBCD数转换为二进制数数转换为二进制数 写出写出BCDBCD数的十进制数数的十进制数十进制数转换为二进制数十进制数转换为二进制数l二进制数转换为二进制数转换为B

24、CDBCD数数 二进制数转换为十进制数二进制数转换为十进制数根据十进制数写出根据十进制数写出BCDBCD数数24 (2 2)ASCIIASCII码码 - -字符在机内的表示字符在机内的表示常用的常用的ASCIIASCII码字符如表码字符如表(P10(P10表表1-4)1-4):25注:注:(1)(1)十进制数的十进制数的ASCIIASCII码转换成码转换成BCDBCD数数 减减30H30H BCDBCD数转换成十进制数的数转换成十进制数的ASCIIASCII码码 加加30H30H(2)(2)将十六进制数的将十六进制数的ASCIIASCII码转换为十六进制或将十六进制码转换为十六进制或将十六进制

25、转换为十六进制数的转换为十六进制数的ASCIIASCII码,要先判别码,要先判别ASCIIASCII码是在哪个码是在哪个区段内,然后再加或减区段内,然后再加或减30H30H或或37H37H。(3)(3)十进制数的十进制数的ASCIIASCII码转换为二进制数码转换为二进制数: : 将将ASCIIASCII码转换为码转换为ASCII BCDASCII BCD数数写出写出ASCII BCDASCII BCD数的十数的十进制数进制数将十进制数转换为二进制数将十进制数转换为二进制数(4)(4)二进制数转换为十进制数的二进制数转换为十进制数的ASCIIASCII码码 过程与过程与(3)(3)相反相反26

26、1.1.5 BCD1.1.5 BCD数的加减运算数的加减运算调整规则调整规则: :和在和在0 09 9之间之间, ,保持不变保持不变; ;和和大于大于9,9,加加6 6调调整整如:如:48+59=10748+59=107 BCDBCD数低位与高位之间数低位与高位之间逢逢“1010”进进1 1,4 4位二进制数位二进制数之间之间逢逢“1616”进进1 1。而计算机按二进制规律运算而计算机按二进制规律运算,故,故BCDBCD数进行运算后须进行调整数进行运算后须进行调整(1 1)BCDBCD数加法数加法1010 00011010 0001 0100 10000100 1000+ 0101 1001+

27、 0101 1001 + 0110 0110110 0110 10000 0111 10000 0111BCDBCD数数27调整规则调整规则: :差在差在0 09 9之间之间, ,不变不变; ;差大于差大于9,9,减减6 6调整调整 如:如:28-19=928-19=90000 11110000 1111 0010 10000010 1000- 0001 1001- 0001 1001 - 0000 0110000 0110 0000 1001 0000 1001BCDBCD数数 通常在微机中设有二通常在微机中设有二十进制调整电路十进制调整电路, ,通过通过调用调整指令来实现调整调用调整指令来

28、实现调整(2 2)BCDBCD数减法数减法281.31.31.21.21.11.11.41.4微型计算机的结构和工作原理微型计算机的结构和工作原理逻辑单元与逻辑部件逻辑单元与逻辑部件计算机的数和编码计算机的数和编码 8086/8088 8086/8088微处理器微处理器1.51.5 8086/8088 8086/8088的存储器结构与堆栈的存储器结构与堆栈29l位位(bit)(bit)计算机所能表示的最基本、计算机所能表示的最基本、最小最小的数的数据单元。据单元。1 1个二进制位有两种状态个二进制位有两种状态“0”0”和和“1”1” l字字(word) (word) 计算机内部进行数据处理的计

29、算机内部进行数据处理的基本单基本单位位,与寄存器、,与寄存器、ALUALU宽度一致每一个字所包含的二宽度一致每一个字所包含的二进制位数称为字长进制位数称为字长l字节字节(byte) 8(byte) 8个个BitBit组成一个字节组成一个字节, ,存放相邻存放相邻的的8 8位二制数位二制数. .字节的长度固定字节的长度固定l指令指令(instruction) (instruction) l程序程序(program)(program)l指令系统指令系统(instruction set)(instruction set)1.3.1 1.3.1 微型计算机常用的术语微型计算机常用的术语301.3.2

30、1.3.2 微型计算机的基本结构微型计算机的基本结构 微型计算机的基本组成如图所示:微型计算机的基本组成如图所示: 31微机的核心部件微机的核心部件, ,具有运算和控制功能具有运算和控制功能组成:组成:l算术逻辑单元算术逻辑单元ALU(arithmetic logic unit) ALU(arithmetic logic unit) l寄存器寄存器(register)(register)组组 l控制器控制器(control unit) (control unit) (1 1)CPUCPU32 总线是把计算机各部分有机地连接起来的一组并总线是把计算机各部分有机地连接起来的一组并行导线,是各个部分

31、之间进行信息交换的公共通道行导线,是各个部分之间进行信息交换的公共通道微机的三总线:微机的三总线:l数据总线数据总线DBDB 在在CPUCPU与存储器和与存储器和CPUCPU与与I/OI/O接口之间双向传送接口之间双向传送数数据据. .其条数决定了每一次能同时传送的二进制数其条数决定了每一次能同时传送的二进制数的位数。的位数。如:如:80888088的数据总线为的数据总线为8 8条,一次能够条,一次能够传送传送8 8位二进制数,用位二进制数,用D7D7D0D0表示表示(2 2)总线)总线33l地址总线地址总线ABAB 传送传送CPUCPU发出的发出的地址地址,以寻址存储单元或,以寻址存储单元或

32、I/OI/O端口。端口。ABAB的宽度决定了计算机系统能够使用的最大的存的宽度决定了计算机系统能够使用的最大的存储器容量。储器容量。如:地址总线为如:地址总线为2020条,用条,用A19A19A0A0表示,表示,可寻址可寻址2 22020=1M=1M的存储空间的存储空间l控制总线控制总线CBCB 向计算机系统的各部件发送向计算机系统的各部件发送操作命令和定时信息。操作命令和定时信息。带有上横线的表示低电平有效带有上横线的表示低电平有效, ,无上横线的表示高无上横线的表示高电平有效电平有效 如:如:ALE(address latch enable)ALE(address latch enable

33、)、INTRINTR高电平有高电平有效,效,MEMWMEMW、MEMRMEMR、IORIOR、IOWIOW、INTAINTA低电平有效低电平有效34主要用于存放程序和数据主要用于存放程序和数据l存储单元存储单元 l单元地址单元地址(3 3)存储器)存储器(memory)(memory)35外部设备通过外部设备通过I/OI/O接口与计算机连接。接口与计算机连接。因为因为l外设的工作速度远低于外设的工作速度远低于CPUCPU的速度的速度l外设表示信息的格式与计算机不同外设表示信息的格式与计算机不同l接口还应向计算机报告设备的运行状态接口还应向计算机报告设备的运行状态, ,传达传达计算机命令等计算机

34、命令等(4 4)I/OI/O接口接口(5 5)I/O设备l输入设备:键盘、模数转换器、扫描仪等输入设备:键盘、模数转换器、扫描仪等l输出设备:显示器、打印机、绘图机等输出设备:显示器、打印机、绘图机等 l输入输入/ /输出设备:磁盘和光盘等输出设备:磁盘和光盘等361.3.3 1.3.3 计算机的工作原理计算机的工作原理 CPUCPU、存储器、存储器、I/OI/O接口、外部设备构成了计算接口、外部设备构成了计算机的硬件机的硬件(hardware)(hardware),光有这样的硬件还只是具有,光有这样的硬件还只是具有了计算的可能。计算机要真正能够进行计算还必须了计算的可能。计算机要真正能够进行

35、计算还必须有多种程序的配合有多种程序的配合 当人们要解决问题时当人们要解决问题时, ,首先将问题程序化首先将问题程序化, ,形成形成指令序列指令序列, ,然后将它存入存储器中然后将它存入存储器中, ,再由再由CPUCPU的控制器的控制器和和ALUALU依据程序中指令的顺序周而复始地取出指令,依据程序中指令的顺序周而复始地取出指令,分析指令,执行指令,最后输出程序结果分析指令,执行指令,最后输出程序结果. .即即“程序程序存储和程序控制存储和程序控制” 371.21.21.11.11.31.3微型计算机的结构和工作原理微型计算机的结构和工作原理逻辑单元与逻辑部件逻辑单元与逻辑部件计算机的数和编码

36、计算机的数和编码 8086/8088 8086/8088微处理器微处理器1.51.5 8086/8088 8086/8088的存储器结构与堆栈的存储器结构与堆栈1.41.438 1.4.1 8086/80881.4.1 8086/8088的结构的结构39 (1 1)执行单元执行单元EU(execution unit)EU(execution unit) (2 2)总线接口单元总线接口单元BIU(bus interface unit) BIU(bus interface unit) EUEU负责负责执行指令执行指令,完成两种操作:算术逻辑运算、,完成两种操作:算术逻辑运算、计算存储器操作数的偏移

37、地址计算存储器操作数的偏移地址BIUBIU完成所有的完成所有的总线操作总线操作EUEU和和BIUBIU并行并行工作,可以同时进行读工作,可以同时进行读/ /写操作和执行写操作和执行指令的操作指令的操作 408 8个个通用通用寄存器寄存器2 2个个控制寄存器控制寄存器4 4个个段寄存器段寄存器1.4.1 8086/8088 1.4.1 8086/8088 的寄存器的寄存器41l通用寄存器共通用寄存器共8 8个:个:AX,BX,CX,DX,SP,BP,SI,DIAX,BX,CX,DX,SP,BP,SI,DI,均,均为为1616位位, ,在在EUEU部件中部件中lAX,BX,CX,DXAX,BX,C

38、X,DX均可分成高均可分成高8 8位和低位和低8 8位,作为独立的位,作为独立的8 8位寄存器使用:位寄存器使用:AH,AL,BH,BL,CH,CL,DH,DLAH,AL,BH,BL,CH,CL,DH,DLlAXAX累加器,累加器,BXBX基址寄存器基址寄存器 CX CX计数寄存器,计数寄存器,DXDX数据寄存器数据寄存器 SP SP堆栈指示器,堆栈指示器,BPBP基址指示器基址指示器 SI SI源变址寄存器,源变址寄存器,DIDI目的变址寄存器目的变址寄存器 1. 1.通用寄存器通用寄存器42IP IP 硬件电路,能自动跟踪指令地址。硬件电路,能自动跟踪指令地址。 在开始执行程序时在开始执行

39、程序时, ,赋给赋给IPIP第一条指令的地第一条指令的地址址, ,然后每取一条指令然后每取一条指令,IP,IP的值就自动指向下的值就自动指向下一条指令的地址一条指令的地址2. 2.指令指示器指令指示器IP(instruction point)IP(instruction point)439 9个个标志位,其中标志位,其中6 6个状态标志,个状态标志,3 3个控制标志个控制标志3. 3.状态标志寄存器状态标志寄存器(status flags)(status flags)44l进位标志位进位标志位CF CF 加减运算执行后,加减运算执行后,最高位最高位有进位或借位,有进位或借位,CF=1CF=1;

40、无进位或借位,无进位或借位,CF=0CF=0 主要用于多字节加减运算主要用于多字节加减运算l辅助进位标志位辅助进位标志位AF AF 最低最低4 4位位D3D3D0D0位位有进位或借位,有进位或借位,AF=1AF=1;无进位;无进位或借位,或借位,AF=0AF=0 用于用于BCDBCD数的算术运算数的算术运算( (调整调整) )指令指令 (1 1)状态标志)状态标志反映反映EUEU执行算术或逻辑运算后的结果执行算术或逻辑运算后的结果45l溢出标志位溢出标志位OF OF 运算结果超出了机器数所能表示的数的范围运算结果超出了机器数所能表示的数的范围OF=1OF=1;反之,;反之,OF=0OF=0 该

41、标志表示运算结果是否产生了溢出该标志表示运算结果是否产生了溢出 l符号标志位符号标志位SF SF 结果为负数,结果为负数,SF=1SF=1;结果为正数,;结果为正数,SF=0SF=0l零标志位零标志位 结果为结果为0 0,ZF=1ZF=1;结果不为;结果不为0 0,ZF=0 ZF=0 l奇偶标志位奇偶标志位PFPF 结果低八位中结果低八位中1 1的个数为偶数,的个数为偶数,PF=1PF=1;为奇数,;为奇数,PF=0PF=0。用于检查数据在传送过程中是否发生错误。用于检查数据在传送过程中是否发生错误 46l方向标志位方向标志位DFDF 控制数据串操作指令的步进方向控制数据串操作指令的步进方向

42、DF=1,DF=1,地址增址地址增址;DF=0,;DF=0,地址减址地址减址l中断允许标志位中断允许标志位IF IF 控制控制CPUCPU是否开中断是否开中断. IF=1,. IF=1, CPUCPU开中断开中断 IF=0, IF=0, CPUCPU关中断关中断l追踪标志位追踪标志位TFTF(陷阱标志位)(陷阱标志位) TF=1 TF=1,CPUCPU单步执行程序,常用于程序的调试单步执行程序,常用于程序的调试 TF=0 TF=0,CPUCPU正常执行程序正常执行程序 (2 2)控制标志)控制标志用于控制用于控制CPUCPU的操作。的操作。 47用来存放段地址用来存放段地址 存储器分段管理,段

43、的起始地址的高存储器分段管理,段的起始地址的高1616位称该段位称该段的的段地址段地址, ,偏离段首址的字节数为偏离段首址的字节数为偏移地址偏移地址( (1616位位).).lCS-CS-代码段寄存器代码段寄存器-存放代码段的段地址存放代码段的段地址lSS-SS-堆栈段寄存器堆栈段寄存器-存放堆栈段的段地址存放堆栈段的段地址lDS-DS-数据段寄存器数据段寄存器-存放数据段的段地址存放数据段的段地址lES-ES-附加数据段寄存器附加数据段寄存器-存放附加数据段的段存放附加数据段的段地址地址 4. 4.段寄存器段寄存器481.21.21.11.11.31.3微型计算机的结构和工作原理微型计算机的

44、结构和工作原理逻辑单元与逻辑部件逻辑单元与逻辑部件计算机的数和编码计算机的数和编码 8086/8088 8086/8088微处理器微处理器 8086/8088 8086/8088的存储器结构与堆栈的存储器结构与堆栈1.51.51.41.449 8086/8088 8086/8088系统中的存储器是以系统中的存储器是以8 8位位( (一个字一个字节节) )为一个存储单元编址的。每一个存储单元用唯为一个存储单元编址的。每一个存储单元用唯一的一个地址码来表示。一个字即一的一个地址码来表示。一个字即1616位的数据占位的数据占据连续的两个单元。这两个单元都有各自的地址,据连续的两个单元。这两个单元都有各自的地址,处于低地址的字节的地址为这个字的地址。在存处于低地址的字节的地址为这个字的地址。在存储器中,任何连续存放的两个字节都可以称为一储器中,任何连续存放的两个字节都可以称为一个字。将偶数地址的字称为规则字,奇数地址的个字。将偶数地址的字称为规则字,奇数地址的字称为非规则字。高地址的字节为高位字节,低字称为

温馨提示

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

评论

0/150

提交评论