微机原理与接口技术(清华大学ppt课件全套).ppt

上传人:小飞机 文档编号:1827631 上传时间:2022-12-20 格式:PPT 页数:681 大小:7.90MB
返回 下载 相关 举报
微机原理与接口技术(清华大学ppt课件全套).ppt_第1页
第1页 / 共681页
微机原理与接口技术(清华大学ppt课件全套).ppt_第2页
第2页 / 共681页
微机原理与接口技术(清华大学ppt课件全套).ppt_第3页
第3页 / 共681页
微机原理与接口技术(清华大学ppt课件全套).ppt_第4页
第4页 / 共681页
微机原理与接口技术(清华大学ppt课件全套).ppt_第5页
第5页 / 共681页
点击查看更多>>
资源描述

《微机原理与接口技术(清华大学ppt课件全套).ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术(清华大学ppt课件全套).ppt(681页珍藏版)》请在三一办公上搜索。

1、1,微机原理与接口技术,大家好!,2,课程目标,掌握:微型计算机的基本工作原理汇编语言程序设计方法微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力,3,教材及实验指导书,教材:微机原理与接口技术(第3版). 冯博琴,吴宁主编. 清华大学出版社实验指导书微机原理与接口技术实验指导书(讲义) 陈文革,吴宁,夏秦编. 西安交通大学微机原理与接口技术题解及实验指导(第3版). 吴宁,陈文革编. 清华大学出版社,4,第1章 微型计算机基础概论,主要内容:微机系统的组成计算机中的编码、数制及其转换无符号二进制数的运算算术运算和逻辑运算运算中的溢出机器数的表示及运算基本逻辑门

2、及译码器,5,一、微型计算机系统,微型机的工作原理微机系统的基本组成,6,1. 计算机的工作原理,冯 诺依曼计算机的工作原理 存储程序工作原理,7,存储程序原理,将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存指令按其在存储器中存放的顺序执行;由控制器控制整个程序和数据的存取以及程序的执行。,8,冯 诺依曼计算机体系结构,运算器,存储器,控制器,输入设备,输出设备,9,冯 诺依曼机的工作过程,内存中的程序,指令1,指令2,指令n,分析,获取操作数,执行,存放结果,程序计数器PC,地址,CPU,取出,操作数,10,冯 诺依曼机的工作过程,取一条指令的工作过程:将指令所在地址赋给

3、程序计数器PC;PC内容送到地址寄存器AR,PC自动加1;把AR的内容通过地址总线送至内存储器,经地址译码器译码,选中相应单元。CPU的控制器发出读命令。在读命令控制下,把所选中单元的内容(即指令操作码)读到数据总线DB。把读出的内容经数据总线送到数据寄存器DR。指令译码因为取出的是指令的操作码,故数据寄存器DR把它送到指令寄存器IR,然后再送到指令译码器ID,11,冯 诺依曼机的特点和不足,特点:程序存储,共享数据,顺序执行属于顺序处理机,适合于确定的算法和数值数据的处理。不足:与存储器间有大量数据交互,对总线要求很高;执行顺序有程序决定,对大型复杂任务较困难;以运算器为核心,处理效率较低;

4、由PC控制执行顺序,难以进行真正的并行处理。,12,典型的非冯 诺依曼机结构,数据流驱动的计算机结构当指令具有所需数据、且输出端没有数据时就可执行。,Dataflow Image Processing System,13,2. 系统组成,主机 硬件系统 外设 微机系统 系统软件 软件系统 应用软件,CPU存储器输入/输出接口总线,14,微处理器,微处理器简称CPU,是计算机的核心。主要包括: 运算器 控制器 寄存器组,15,存储器,定义:用于存放计算机工作过程中需要操作的数据和程序。,16,有关内存储器的几个概念,内存单元的地址和内容内存容量内存的操作内存的分类,17,内存单元的地址和内容,内

5、存按单元组织每单元都对应一个地址,以方便对单元的寻址,10110110,38F04H,内存地址,单元内容,18,内存容量,内存容量:所含存储单元的个数,以字节为单位内存容量的大小依CPU的寻址能力而定实地址模式下为CPU地址信号线的位数,19,内存操作,读:将内存单元的内容取入CPU,原单元内容不改变;写:CPU将信息放入内存单元,单元中原来的内容被覆盖。,20,内存储器的分类,随机存取存储器(RAM)只读存储器(ROM),按工作方式可分为,21,输入/输出接口,接口是CPU与外部设备间的桥梁,CPU,I/O接口,外设,22,接口的分类,串行接口并行接口,数字接口模拟接口,输入接口输出接口,2

6、3,接口的功能,数据缓冲寄存;信号电平或类型的转换;实现主机与外设间的运行匹配。,24,总线,基本概念分类工作原理常用系统总线标准及其主要技术指标 (具体内容见后续课程),25,软件系统,软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。,系统软件,应用软件,操作系统编译系统网络系统工具软件,软件,26,二、计算机中的数制和编码,数制和编码的表示各种计数制之间的相互转换,27,1. 常用计数法,十进制(D) 二进制(B) 十六进制(H),28,例:,234.98D或(234.98)D1101.11B或(1101.11)BABCD . BFH或(ABCD .

7、BF) H,29,2. 各种进制数间的转换,非十进制数到十进制数的转换十进制到非十进制数的转换二进制与十六进制数之间的转换,30,非十进制数到十进制数的转换,按相应的权值表达式展开例:1011.11B=123+022+121+120+12-1+ 12-2 =8+2+1+0.5+0.25 =11.755B.8H=5161+11160+816-1 =80+11+0.5 =91.5,31,十进制到非十进制数的转换,到二进制的转换: 对整数:除2取余; 对小数:乘2取整。到十六进制的转换: 对整数:除16取余; 对小数:乘16取整。,32,二进制与十六进制间的转换,用4位二进制数表示1位十六进制数例:

8、25.5 = 11001.1B = 19.8H 11001010.0110101B =CA.6AH,33,3. 计算机中的编码,BCD码用二进制编码表示的十进制数ASCII码西文字符编码,34,BCD码,压缩BCD码用4位二进制码表示一位十进制数每4位之间有一个空格扩展BCD码用8位二进制码表示一位十进制数,每4位之间有一个空格。,35,BCD码与二进制数之间的转换,先转换为十进 制数,再转换二进 制数;反之同样。例:(0001 0001 .0010 0101)BCD =11 .25 =(1011 .01) B,36,ASCII码,西文 字符的编码,一般用7位二进 制码表示。D7位为校验位,默

9、认情况下为0。要求:理解校验位的作用熟悉0-F的ASCII码,37,ASCII码的奇偶校验,奇校验加上校验位后编码中“1”的个数为奇数。例:A的ASCII码是41H(1000001B)以奇校验传送则为 C1H(11000001B)偶校验加上校验位后 编码中“1”的个数为偶数。上例若以偶校验传送,则为 41H。,38,三、无符号二进制数的运算,算术运算逻辑运算,无符号数有符号数,二进 制数的运算,39,主要内容,无符号二进 制数的算术运算无符号数的表达范围运算中的溢出问题无符号数的逻辑运算基本逻辑门和译码器,40,1. 无符号数的算术运算,加法运算1+1=0(有进位)减法运算0-1=1(有借位)

10、乘法运算除法运算,41,乘除运算例,000010110100 =00101100B 000010110100=00000010B 即:商=00000010B 余数=11B,42,2. 无符号数的表示范围:,0 X 2n-1若运算结果超出这个范围,则产生溢出。对无符号数:运算时,当最高位向更高位 有进位(或借位)时则产生 溢出。,43,例:,最高位向前有进位,产生溢出,44,3. 逻辑运算,与、或、非、异或掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。,45,“与”、“或”运算,“与”运算:任何数和“0”相“与”,结果为0。“或”运算:任何数和“1”相“或”,结果为1。,

11、46,“非”、“异或”运算,“非”运算按位求反“异或”运算相同则为0,相异则为1,47,4. 译码器,掌握74LS138译码器各引脚功能输入端与输出端关系(真值表),48,74LS138译码器,主要引脚及功能,49,三、机器数(有符号数)的运算,50,计算机中符号数的表示,机器数计算机中的数据构成:符号位 + 真值,“0” 表示正“1” 表示负,51,例,+52 = +0110100 = 0 0110100 符号位 真值,-52 = -0110100 = 1 0110100 符号位 真值,52,1. 符号数的表示,机器数的表示方法:原码反码补码,53,原码,最高位为符号位(用“0”表示正,用“

12、1”表示负),其余为真值部分。优点: 真值和其原码表示之间的对应关系简单,容易理解;缺点:计算机中用原码进行加减运算比较困难0的表示不唯一。,54,数0的原码,8位数0的原码:+0=0 0000000 -0=1 0000000 即:数0的原码不唯一。,55,反码,对一个机器数X:若X0 ,则 X反=X原若X0, 则 X反= 对应原码的符号位不变,数值部分按位求反,56,例,X= -52 = -0110100 X原=1 0110100 X反=1 1001011,57,0的反码:,+0反=00000000 -0反 =11111111即:数0的反码也不是唯一的。,58,补码,定义:若X0, 则X补=

13、 X反= X原若X0, 则X补= X反+1,59,例,X= 52= 0110100 X原=10110100 X反=11001011 X补= X反+1=11001100,60,0的补码:,+0补= +0原=00000000-0补= -0反+1=11111111+1 =1 00000000 对8位字长,进位被舍掉,61,特殊数10000000,对无符号数:(10000000)B=128在原码中定义为: -0在反码中定义为: -127在补码中定义为: -128,62,符号数的表示范围,对8位二进制数:原码: -127 +127反码: -127 +127补码: -128 +127,63,2. 符号二进

14、制数与十进制的转换,对用补码表示的二进制数: 1)求出真值 2)进行转换,64,例:补码数转换为十进制数,X补=0 0101110B 正数所以:真值=0101110B X=+46X补=1 1010010B 负数所以:真值不等于-1010010B而是:X=X补补=11010010补= - 0101110 = - 46,65,3. 符号数的算术运算,通过引进补码,可将减法运算转换为加法运算。即:X+Y补=X补+Y补 X-Y补=X+(-Y)补 =X补+-Y补,注:运算时符号位须对齐,66,例,X=-0110100,Y=+1110100,求X+Y=?X原=10110100 X补= X反+1=11001

15、100Y补= Y原=01110100X+Y补= X补+ Y补 =11001100+01110100 =01000000X+Y=+1000000,67,符号数运算中的溢出问题,两个带符号二进制数相加或相减时,若运算结果超出可表达范围,则产生溢出溢出的判断方法:最高位进位状态次高位进位状态1,则结果溢出,68,例:,若:X=01111000, Y=01101001 则:X+Y=次高位向最高位有进位,而最高位向前无进位,产生溢出。 (事实上,两正数相加得出负数,结果出错),69,结束语:,第1章难点: 补码的概念及其运算,谢谢大家!,70,第2章微处理器与总线,71,主要内容:,微处理器的功能和结构

16、8088/8086微处理器特点主要引线功能和内部结构内部寄存器实地址模式下的存储器寻址总线时序总线,72,一、微处理器及8088/8086CPU,73,1. 微处理器,运算器控制器内部寄存器,微处理器,74,2. 程序和指令,程序:具有一定功能的指令的有序集合指令:由人向计算机发出的、能够为计算机所识别的命令。,75,3. 指令执行的一般过程,取指令,取指部件,分析部件,执行部件,指令译码,读取操作数,执行指令,存放结果,76,4. 顺序执行和并行流水线,顺序执行方式:各功能部件交替工作,按顺序完成指令的执行过程。并行流水线方式:各功能部件并行工作。,77,顺序工作方式,78,并行流水线工作方

17、式,EU,CPU,79,5. 8088/8086 CPU的特点,采用并行流水线工作方式 通过设置指令预取队列实现对内存空间实行分段管理 将内存分为4个段并设置地址段寄存器,以实 现对1MB空间的寻址支持多处理器系统,CPU内部结构,存储器寻址部分,工作模式,80,6. 8088CPU的两种工作模式,8088可工作于两种模式下 最小模式 最大模式最小模式为单处理器模式。最大模式为多处理器模式。,81,两种工作模式的选择方式,8088是工作在最小还是最大模式由MN/MX引线的状态决定。MN/MX=0工作于最大模式MN/MX=1工作于最小模式,82,二、8088/8086的引线及功能,83,1. 主

18、要引线最小模式下的8088引线,地址线和数据线:AD0AD7:低8位地址和低8位数据信号分时复用。在传送地址信号时为单向,传送数据信号时为双向。A16-A19:高4位地址信号,与状态信号分时复用。A8A15 :8位地址信号,84,主要的控制和状态信号,WR: 写信号;RD: 读信号;IO/M:为“0”表示访问内存, 为“1”表示访问接口;DEN: 低电平有效时,允许进行读/写操作;DT/R:数据收发器的传送方向控制; ALE:地址锁存信号;RESET:复位信号。,85,例:,当WR=1,RD=0,IO/M=0时, 表示CPU当前正在进行读存储器操作,86,READY信号,87,中断请求和响应信

19、号,INTR:可屏蔽中断请求输入端NMI: 非屏蔽中断请求输入端INTA:中断响应输出端,88,总线保持信号,HOLD:总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时, 通过该引脚向CPU发出请求。HLDA:总线保持响应信号输出端。CPU对 HOLD信号的响应信号。,89,2. 8088和8086CPU引线功能比较,数据总线宽度不同8088的外部总线宽度是8位,8086为16位。访问存储器和输入输出控制信号含义不同8088IO/M=0表示访问内存;8086IO/M=1表示访问内存。其他部分引线功能的区别,90,三、8088/8086的内部结构,91,1. 组成,8088/808

20、6内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),92,2. 执行单元,运算器 8个通用寄存器 1个标志寄存器 EU部分控制电路,教材第43页图2-6图,93,执行单元,功能指令译码指令执行暂存中间运算结果保存运算结果特征,指令的执行,在标志寄存器FLAGS中,在ALU中完成,在通用寄存器中,94,3. 总线接口单元,功能:从内存中取指令到指令预取队列指令预取队列是并行流水线工作的基础负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,95,结论,指令预取队列的存在使EU和BIU两个部分可同时进行工作

21、,从而:提高了CPU的效率;降低了对存储器存取速度的要求,96,四、内部寄存器,97,内部寄存器的类型,含14个16位寄存器,按功能可分为三类 8个通用寄存器 4个段寄存器 2个控制寄存器,深入理解:每个寄存器中数据的含义,98,1. 通用寄存器,数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI),99,数据寄存器,8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXBXCXDX,AH,AL,CH,CL,BH,BL,DH,DL,100,数据寄存器特有的习惯用法,AX:累加器。所有I/O指令都通过AX与接口传送 信息,中间运算结

22、果也多放于AX中;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令 中存放计数值;DX:数据寄存器。在间接寻址的I/O指令中存放 I/O端口地址;在32位乘除法运算时,存放 高16位数。,101,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的 偏移地址;BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。,102,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据;作为基址寄存器,用BX表示所寻找的数据在数据段;用BP则表示数据在堆栈段。,103,变址寄存器,SI:源变址寄存器DI:目标变址寄存器变址寄存器在指令中常用于存放

23、数据在内存中的地址。,104,2. 控制寄存器,IP指令指针寄存器,其内容为下一条要执行指令的偏移地址。FLAGS标志寄存器,存放运算结果的特征6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF),105,状态标志位(1),CF(Carry Flag) 进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1 PF(Parity Flag)奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=l AF(Auxiliary Carry Flag)辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=1,106,状态标志位(2),ZF(Z

24、ero Flag)零标志位。当运算结果为零时ZF=1 SF(Sign Flag)符号标志位。当运算结果的最高位为1时,SF=l OF(Overflow Flag)溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,OF=l,107,状态标志位例,给出以下运算结果及运算后各状态标志位的状态:10110110+11110100 10110110 + 11110100 10101010,1,CF= OF=AF= PF=SF= ZF=,1,1,1,0,1,0,108,控制标志位,TF(Trap Flag)陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式。IF(Inter

25、rupt Enable Flag)中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。DF(Direction Flag)方向标志位。在数据串操作时确定操作的方向。,109,3. 段寄存器,作用用于存放相应逻辑段的段基地址8086/8088内存中逻辑段的数量最多为64K个8086/8088内存中逻辑段的类型代码段数据段附加段堆栈段,存放指令代码,存放操作的数据,存放操作的数据,存放暂时不用但需保存的数据。,为什么叫逻辑段?,每个段寄存器中存放的内容=?,110,段寄存器,CS代码段寄存器,存放代码段的段基地址。DS数据段寄存器 ,存放数据段的段基地址。ES附加段寄存器,存放数据段的段基地址

26、。SS堆栈段寄存器, 存放堆栈段的段基地址,段寄存器的值表明相应逻辑段在内存中的位置,111,五、存储器寻址,112,1. 内存单元的编址(1),每个内存单元在整个内存空间中都具有惟一的地址每个内存单元的地址码都由两部分组成:段(基)地址16位段内地址16位,相对地址/偏移地址,物理地址,8088为16位结构,所以段地址和偏移地址均为16位,113,存储器的编址(2),段基地址:决定存储单元在内存中的位置相对地址(偏移地址)决定该存储单元相对段内第一个单元的距离逻辑段的起始地址称为段首每个逻辑段内的第一个单元,段首的偏移地址=0,114,存储器的编址(3),0 0 0 0,段基地址(16位),

27、段首地址(段首的物理地址), , ,19,0,4,段首的偏移地址:0000H,段基地址(16位), , ,31,0,15, , ,115,存储器的编址(4),例:段基地址 =6000H段首地址偏移地址=0009H物理地址,数据段,60009H,00H,12H,60000H,9,物理地址:内存单元在整个内存空间中的惟一地址,116,2. 实地址模式下的存储器地址变换,内存物理地址由段基地址和偏移地址组成,物理地址=段基地址16+偏移地址,0 0 0 0,段首地址, , ,19,0,4, , ,偏移地址,+,物理地址,117,例:,已知 CS=1055H, DS=250AH ES=2EF0H SS

28、=8FF0H画出各段在内存中的分布。,118,例:,CS=1055H段首地址=10550HDS=250AH段首地址=250A0HES=2EF0HSS=8FF0H,10550H,250A0H,2EF00H,8FF00H,代码段,数据段,附加段,堆栈段,119,例,设某操作数存放在数据段,DS=250AH,数据所在单元的偏移地址=0204H。则该操作数所在单元的物理地址为:250AH 16+0204H = 252A4H,120,3. 存储器的保护模式,保护模式:支持多任务的工作模式,提供了多任务保护机制;内存段的访问受到限制,不能再随意存取数据段。 保护模式下的内存访问不再直接从段寄存器中获得段基

29、地址,段基地址存放在内存的段描述符表中,由段描述符寄存器给出段描述符表的基地址,段寄存器中仅存放段选择符。,121,保护模式下的存储器地址变换,122,4. 堆栈及堆栈段的使用,堆栈:内存中一个特殊区域,用于存放暂时不用或需要保护的数据。常用于响应中断或子程序调用。,123,例:,已知SS=1000H,SP=0100H则:堆栈段的段首地址= 栈顶(偏移)地址=若该段最后一个单元 地址为10200H,则:栈底偏移地址=,10000H,0100H,0200H,124,5. 内部寄存器小结,全部为16位寄存器只有4个数据寄存器分别可分为2个8位寄存器所有16位寄存器中:全部通用寄存器中,只有AX和C

30、X中的内容一定为参加运算的数据,其余通用寄存器中的内容可能是数据,也可能是存放数据的地址;SP中的内容通常为堆栈段的栈顶地址;段寄存器中的内容为相应逻辑段的段地址;IP中的内容为下一条要取的指令的偏移地址;FLAGS中有9位标志位,125,6. 实模式下的存储器寻址小结,每个内存单元在整个内存空间中都具有惟一地址每个内存单元的地址都由两部分组成:段基地址 段内相对地址(偏移地址)段基地址决定了逻辑段在内存中所占的区域,改变段基地址,则改变了逻辑段的位置。一个逻辑段的默认长度为64KB,最小长度值为16B。逻辑段可以有多个,但只有4种类型。在一个程序模块中,每种类型的逻辑段最多只能有一个。,12

31、6,六、总线时序,127,时序,时序:CPU各引脚信号在时间上的关系总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。一个总线周期至少包括4个时钟周期。,128,七、8088系统总线,129,主要内容:,总线的基本概念和分类;总线的工作方式;常用系统总线标准。,130,1. 概述,总线: 是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据和控制信息的通道。,地址总线(AB)数据总线(DB)控制总线(CB),131,2. 总线分类,CPU总线系统总线外部总线,片内总线片外总线,按相对CPU的位置分,按层次结构分,132,3. 总线的系统结构,单总线结构,CPU

32、,M,M,I/O,I/O,I/O,133,多总线结构,面向CPU的双总线结构面向主存的双总线结构,双总线结构多总线结构,134,面向CPU的双总线结构,存储器与I/O接口间无直接通道,CPU,M,I/O,I/O,I/O,135,面向存储器的双总线结构,在单总线结构基础上增加一条CPU到存储器的高速总线,CPU,M,I/O,I/O,I/O,136,现代微机中的多总线结构,137,4. 总线的基本功能,数据传送仲裁控制出错处理总线驱动,138,5. 常用系统总线,ISA(8/16位)PCI(32/64位)AGP(加速图形端口,用于提高图形处理能力)PCI-E(PCI Express )目前最新的系

33、统总线标准,采用串行方式传输数据,依靠高频率来获得高性能。,139,6. 总线的主要性能指标,总线带宽(B/S):单位时间内总线上可传送 的数据量总线位宽(bit): 能同时传送的数据位数总线的工作频率(MHz)总线带宽= (位宽/8)(工作频率/每个存取周期的时钟数),140,7. 两种工作模式下的总线连接,8088可工作于两种模式下最小模式为单处理器模式,控制信号较少,一般可不必接总线控制器。最大模式为多处理器模式,控制信号较多,须通过总线控制器与总线相连。,141,最小模式下的总线连接示意图,8088CPU,控制总线,数据总线,地址总线,地址锁存,数据收发,ALE,时钟发生 器,142,

34、最大模式下的总线连接示意图,8088CPU,数据总线,地址总线,地址锁存,数据收发,ALE,时钟发生 器,总 线控制器,控制总线,143,本章小结,微处理器的一般构成8088CPU的主要引线及其功能8088CPU的内部结构内部寄存器功能寄存器中数据的含义8位寄存器中存放的均为运算的数据存储器寻址逻辑地址,段基地址,偏移地址,物理地址堆栈栈顶地址,栈底地址,堆栈段基地址,144,谢谢大家!,145,第3章 指令系统,146,主要内容:,指令系统的一般概念对操作数的寻址方式六大类指令的操作原理:,操作码的含义指令对操作数的要求指令执行的结果,147,3.1 概述,148,了解:,指令及指令系统;指

35、令的格式;指令中的操作数类型;指令字长与机器字长;指令的执行时间CISC和RISC指令系统,149,一、指令与指令系统,指令:控制计算机完成某种操作的命令指令系统:处理器所能识别的所有指令的集合指令的兼容性:同一系列机的指令都是兼容的。,150,二、指令格式,指令中应包含的信息:,运算数据的来源运算结果的去向执行的操作,151,指令格式,操作码 操作数,操作数,执行何种操作,目标操作数,源操作数,参加操作的数据或数据存放的地址,152,指令格式:,零操作数指令: 操作码 单操作数指令: 操作码 操作数双操作数指令: 操作码 操作数,操作数多操作数指令: 三操作数及以上,153,三、指令中的操作

36、数,立即数寄存器存储器,表征参加操作的数据本身,表征数据存放的地址,154,立即数操作数,立即数本身是参加操作的数据,可以是8位或16位,只能作为源操作数。 例: MOV AX,1234H MOV BL,22H立即数无法作为目标操作数立即数可以是无符号或带符号数,其数值应在可取值范围内。,155,寄存器操作数:,参加运算的数存放在指令给出的寄存器中,可以是16位或8位。例:MOV AX,BXMOV DL,CH,156,存储器操作数,参加运算的数存放在存储器的某一个或某两个单元中。表现形式: ,立即数或寄存器, 中的内容是存放所寻找数据的单元的偏移地址,157,存储器操作数例,例: MOV AX

37、,1200H MOV AL,1200H,22H,11H,1200H,偏移地址,AH AL,158,四、指令字长,指令字长:由操作码的长度、操作数地址长度、操作数个数决定。,159,五、指令的执行速度,指令的字长影响指令的执行速度对不同的操作数,指令执行的时间不同: 存储器,快!,立即数,寄存器,160,六、CISC和RISC指令系统,CISC(complex instruction set computer)指令的功能强,种类多,常用指令用硬件实现;指令系统复杂,难使用。RISC指令系统指令功能较弱,种类少,格式简单;多数指令在一个计算机周期内完成;对存储器的结构和存取速度要求较高。,161,

38、3.2 寻址方式,162,寻址方式,寻找操作数所在地址的方法 寻找转移地址的方法,本节,163,寻址方式,操作数可能的来源或存放处:由指令直接给出寄存器内存单元寻找操作数所在地址的方法可以有三种大类型指令直接给出的方式存放于寄存器中的寻址方式存放于存储器中的寻址方式,164,一、立即寻址,指令中的源操作数是立即数,即源操作数是参加操作的数据本身例:MOV AX,1200H,12H,00H,AH AL,MOV,代码段,立即寻址仅适合于源操作数,165,二、寄存器寻址,参加操作的操作数在CPU的通用寄存器中。例:MOV AX,BX,AX,BX,166,三、直接寻址,指令中直接给出操作数的偏移地址默

39、认在数据段例:MOV AX,1200H,22H,11H,1200H,偏移地址,数据段,AH AL,167,直接寻址,直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。例:MOV AX,ES:1200H,168,四、寄存器间接寻址,参与操作的操作数存放在内存中,其偏移地址为指令中的寄存器的内容。,169,寄存器间接寻址例,例:MOV AX,BX 设BX=1200H,22H,11H,1200H,偏移地址,AH AL,11 22,数据段,代码段,MOV,170,寄存器间接寻址,由寄存器间接给出操作数的偏移地址;存放偏移地址的寄存器称为间址寄存器,它们是:BX,BP,SI,DI

40、操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器: BX,SI,DI BP,默认在数据段,默认在堆栈段,171,寄存器间接寻址,寄存器间接寻址,基址寻址(间址寄存器为基址寄存 器BX,BP)变址寻址(间址寄存器为变址寄存 器SI,DI),172,五、寄存器相对寻址,操作数的偏移地址为寄存器的内容加上一个位移量例:MOV AX,BX+DATA 设:DS=2000H,BX=0220H,DATA=05H 则:AX=20225H,173,六、基址、变址寻址,操作数的偏移地址为一个基址寄存器的内容 + 一个变址寄存器的内容;操作数的段地址由选择的基址寄存器决定基址寄存器为BX,默认在数据段基址

41、寄存器为BP,默认在堆栈段基址变址寻址方式与相对寻址方式一样,主要用于一维数组操作。,174,例:,执行下列指令:MOV SI,1100HMOV BX,SIMOV AX,SI+BX,22H,11H,2200H,偏移地址,AH AL,11 22,数据段,175,七、基址、变址、相对寻址,操作数的偏移地址为:基址寄存器内容+变址寄存器内容+位移量操作数的段地址由选择的基址寄存器决定。基址变址相对寻址方式主要用于二维表格操作。,176,例:,执行以下程序段:MOV DI,1100HMOV BP,DIMOV AL,BPDI5,22H,11H,2205H,偏移地址,AL,22,堆栈段,177,八、隐含寻

42、址,指令中隐含了一个或两个操作数的地址,即操作数在默认的地址中。例: MUL BL指令执行:ALBL,AX,178,3.3 8086指令系统,179,掌握:,指令码的含义指令对操作数的要求指令的对标志位的影响指令的功能,180,8086指令系统,从功能上包括六大类:,数据传送算术运算逻辑运算和移位串操作程序控制处理器控制,181,数据传送指令,通用数据传送输入输出地址传送标志位操作,182,一、通用数据传送,一般数据传送指令堆栈操作指令交换指令查表转换指令字位扩展指令,特点:该类指令的执行对标志位不产生影响,183,1. 一般数据传送指令,一般数据传送指令 MOV格式:MOV dest,src

43、操作:src例: MOV AL,BL,dest,184,一般数据传送指令,注意点:两操作数字长必须相同;两操作数不允许同时为存储器操作数;两操作数不允许同时为段寄存器;在源操作数是立即数时,目标操作数不能是段寄存器;IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现。,185,一般数据传送指令例,判断下列指令的正确性:MOV AL,BXMOV AX,SI05HMOV BXBP,BXMOV DS,1000HMOV DX,09HMOV 1200,SI,186,一般数据传送指令应用例,将(*)的ASCII码2AH送入内存数据段1000H开始的100个单元中。题目分析:确定首地址确定

44、数据长度写一次数据修改单元地址修改长度值判断写完否?未完继续写入,否则结束,1063H,100B,1000H,2AH,数据段,2AH,2AH,2AH,187,一般数据传送指令应用例,程序段: MOV DI,1000H MOV CX,64H MOV AL,2AHAGAIN:MOV DI,AL INC DI ;DI+1 DEC CX ;CX-1 JNZ AGAIN ;CX0则继续 HLT,188,上段程序在代码段中的存放形式,設CS=109EH,IP=0100H,则各条指令在代码段中的存放地址如下: CS : IP 机器指令 汇编指令 109E:0100 B80010 MOV DI,1000H 1

45、09E:0103 . MOV CX,64H 109E:0105 . MOV AL,2AH 109E:0107 . MOV DI,AL 109E:0109 INC DI 109E:010A DEC CX 109E:010B JNZ 0107H 109E:010D HLT,189,数据段中的分布,送上2AH后数据段中相应存储单元的内容改变如下:DS:1000 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1010 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1020 2A 2A 2A

46、2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1030 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2ADS:1040 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1050 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1060 2A 2A 2A 2A 00 00 00 00 00 00 00 00 00 00 00 00,偏移地址DI,190,2. 堆栈操作指令,掌握:有关堆栈的概念栈顶、栈首、栈

47、底堆栈指令的操作原理执行过程,执行结果,191,堆栈操作的原则,先进后出以字为单位,192,堆栈操作指令,压栈指令 PUSH 格式: PUSH OPRD出栈指令 POP 格式: POP OPRD,16位寄存器或存储器两单元,16位寄存器或存储器两单元,193,压栈指令 PUSH,指令执行过程:SP - 2 SP操作数高字节 SP+1操作数低字节 SP,SP,堆栈段,SP,高8位,低8位,194,压栈指令的操作,设AX=1234H,SP=1200H执行 PUSH AX 指令后堆栈区的状态:,1200H,堆栈段,SP-2=11FEH,12H,34H,1200H,堆栈段,12H 34H,AX,入栈后

48、,入栈前,195,出栈指令POP,指令执行过程: SP SP+1 SP SP+2,操作数低字节,操作数高字节,SP,堆栈段,SP,高8位,低8位,196,出栈指令的操作,执行 POP AX,12H,34H,11FEH,堆栈段,代码段,PUSH,12 34,AX,SP+2,1200H,出栈后,出栈前,197,堆栈操作指令说明,指令的操作数必须是16位的;操作数可以是寄存器或存储器两单元,但不能是立即数;不能从栈顶弹出一个字给CS;PUSH和POP指令在程序中一般成对出现;PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反。,198,堆栈操作指令例,MOV AX,1234HMOV

49、 SP,AXMOV BX,5678HMOV BX,AHMOV BX+1,BLPUSH AXPUSH BXPUSH WORD PTRBX POP WORD PTRBXPOP AXPOP BX,如此,会使AX和BX的内容互换,199,3. 交换指令,格式: XCHG REG,MEM/REG注:两操作数必须有一个是寄存器操作数不允许使用段寄存器。例: XCHGAX,BXXCHG2000,CL,200,4. 查表指令,格式: XLAT说明:用BX的内容代表表格首地址,AL内容为表内位移量,BX+AL得到要查找元素的偏移地址操作:将BX+AL所指单元的内容送AL,201,查表指令例,数据段中存放有一张A

50、SCII码转换表,设首地址为2000H,现欲查出表中第11个代码的ASCII码,30,31,32,.,39,41,42,.,45,46,2000H+0,2000H+11,0,1,2,9,A,B,E,F,202,查表指令例,可用如下指令实现:MOV BX,2000H ;BX表首地址MOV AL,0BH ;AL序号XLAT ;查表转换执行后:AL = 42H还可用其他方法实现,如:MOV BX,2000HMOV AL,BX+0BH,203,5. 字位扩展指令,将符号数的符号位扩展到高位;指令为零操作数指令,采用隐含寻址,隐含的操作数为AX及AX,DX无符号数的扩展规则为在高位补0,204,字节到字

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号