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

上传人:本田雅阁 文档编号:3195603 上传时间:2019-07-29 格式:PPT 页数:681 大小:13.18MB
返回 下载 相关 举报
微机原理与接口技术清华大学课件全套.ppt_第1页
第1页 / 共681页
微机原理与接口技术清华大学课件全套.ppt_第2页
第2页 / 共681页
微机原理与接口技术清华大学课件全套.ppt_第3页
第3页 / 共681页
微机原理与接口技术清华大学课件全套.ppt_第4页
第4页 / 共681页
微机原理与接口技术清华大学课件全套.ppt_第5页
第5页 / 共681页
点击查看更多>>
资源描述

《微机原理与接口技术清华大学课件全套.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,冯 诺依曼机的特点和不足,特点: 程序存储,共享数据,顺序执行 属于顺序处理机,适合于确定的算法和数值数据的处理。 不足: 与存储器间有大量数据交互,对总线要求很高; 执行顺序有程序决

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

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

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

7、(H),28,例:,234.98D或(234.98)D 1101.11B或(1101.11)B ABCD . BFH或(ABCD . BF) H,29,2. 各种进制数间的转换,非十进制数到十进制数的转换 十进制到非十进制数的转换 二进制与十六进制数之间的转换,30,非十进制数到十进制数的转换,按相应的权值表达式展开 例: 1011.11B=123+022+121+120+12-1+ 12-2 =8+2+1+0.5+0.25 =11.75 5B.8H=5161+11160+816-1 =80+11+0.5 =91.5,31,十进制到非十进制数的转换,到二进制的转换: 对整数:除2取余; 对小数

8、:乘2取整。 到十六进制的转换: 对整数:除16取余; 对小数:乘16取整。,32,二进制与十六进制间的转换,用4位二进制数表示1位十六进制数 例: 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

9、 0001 .0010 0101)BCD =11 .25 =(1011 .01) B,36,ASCII码,西文 字符的编码,一般用7位二进 制码表示。 D7位为校验位,默认情况下为0。 要求: 理解校验位的作用 熟悉0-F的ASCII码,37,ASCII码的奇偶校验,奇校验 加上校验位后编码中“1”的个数为奇数。 例:A的ASCII码是41H(1000001B) 以奇校验传送则为 C1H(11000001B) 偶校验 加上校验位后 编码中“1”的个数为偶数。 上例若以偶校验传送,则为 41H。,38,三、无符号二进制数的运算,算术运算 逻辑运算,无符号数 有符号数,二进 制数的运算,39,主要

10、内容,无符号二进 制数的算术运算 无符号数的表达范围 运算中的溢出问题 无符号数的逻辑运算 基本逻辑门和译码器,40,1. 无符号数的算术运算,加法运算 1+1=0(有进位) 减法运算 0-1=1(有借位) 乘法运算 除法运算,41,乘除运算例,000010110100 =00101100B 000010110100=00000010B 即:商=00000010B 余数=11B,42,2. 无符号数的表示范围:,0 X 2n-1 若运算结果超出这个范围,则产生溢出。 对无符号数:运算时,当最高位向更高位 有进位(或借位)时则产生 溢出。,43,例:,最高位向前有进位,产生溢出,44,3. 逻辑

11、运算,与、或、非、异或 掌握: 与、或、非门逻辑符号和逻辑关系(真值表); 与非门、或非门的应用。,45,“与”、“或”运算,“与”运算: 任何数和“0”相“与”,结果为0。 “或”运算: 任何数和“1”相“或”,结果为1。,46,“非”、“异或”运算,“非”运算 按位求反 “异或”运算 相同则为0,相异则为1,47,4. 译码器,掌握74LS138译码器 各引脚功能 输入端与输出端关系(真值表),48,74LS138译码器,主要引脚及功能,49,三、机器数(有符号数)的运算,50,计算机中符号数的表示,机器数 计算机中的数据 构成: 符号位 + 真值,“0” 表示正 “1” 表示负,51,例

12、,+52 = +0110100 = 0 0110100 符号位 真值,-52 = -0110100 = 1 0110100 符号位 真值,52,1. 符号数的表示,机器数的表示方法: 原码 反码 补码,53,原码,最高位为符号位(用“0”表示正,用“1”表示负),其余为真值部分。 优点: 真值和其原码表示之间的对应关系简单,容易理解; 缺点: 计算机中用原码进行加减运算比较困难 0的表示不唯一。,54,数0的原码,8位数0的原码:+0=0 0000000 -0=1 0000000 即:数0的原码不唯一。,55,反码,对一个机器数X: 若X0 ,则 X反=X原 若X0, 则 X反= 对应原码的符

13、号位不变,数值部分按位求反,56,例,X= -52 = -0110100 X原=1 0110100 X反=1 1001011,57,0的反码:,+0反=00000000 -0反 =11111111 即:数0的反码也不是唯一的。,58,补码,定义: 若X0, 则X补= 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,特殊数100

14、00000,对无符号数:(10000000)B=128 在原码中定义为: -0 在反码中定义为: -127 在补码中定义为: -128,62,符号数的表示范围,对8位二进制数: 原码: -127 +127 反码: -127 +127 补码: -128 +127,63,2. 符号二进制数与十进制的转换,对用补码表示的二进制数: 1)求出真值 2)进行转换,64,例:补码数转换为十进制数,X补=0 0101110B 正数 所以:真值=0101110B X=+46 X补=1 1010010B 负数 所以:真值不等于-1010010B 而是:X=X补补=11010010补= - 0101110 = -

15、 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=11001100 Y补= Y原=01110100 X+Y补= X补+ Y补 =11001100+01110100 =01000000 X+Y=+1000000,67,符号数运算中的溢出问题,两个带符号二进制数相加或相减时,若运算结果超出可表达范围,则产生溢出 溢出的判断方法: 最高位进位状态次高位进位状态1,则结果

16、溢出,68,例:,若:X=01111000, Y=01101001 则:X+Y= 次高位向最高位有进位,而最高位向前无进位,产生溢出。 (事实上,两正数相加得出负数,结果出错),69,结束语:,第1章难点: 补码的概念及其运算,谢谢大家!,70,第2章 微处理器与总线,71,主要内容:,微处理器的功能和结构 8088/8086微处理器 特点 主要引线功能和内部结构 内部寄存器 实地址模式下的存储器寻址 总线时序 总线,一、微处理器及8088/8086CPU,72,1. 微处理器,运算器 控制器 内部寄存器,73,微处理器,74,2. 程序和指令,程序: 具有一定功能的指令的有序集合 指令: 由

17、人向计算机发出的、能够为计算机所识别的命令。,75,3. 指令执行的一般过程,取指令,取指部件,分析部件,执行部件,指令译码,读取操作数,执行指令,存放结果,76,4. 顺序执行和并行流水线,顺序执行方式: 各功能部件交替工作,按顺序完成指令的执行过程。 并行流水线方式: 各功能部件并行工作。,77,顺序工作方式,78,并行流水线工作方式,EU,CPU,79,5. 8088/8086 CPU的特点,采用并行流水线工作方式 通过设置指令预取队列实现 对内存空间实行分段管理 将内存分为4个段并设置地址段寄存器,以实 现对1MB空间的寻址 支持多处理器系统,CPU内部结构,存储器寻址部分,工作模式,

18、80,6. 8088CPU的两种工作模式,8088可工作于两种模式下 最小模式 最大模式 最小模式为单处理器模式。 最大模式为多处理器模式。,81,两种工作模式的选择方式,8088是工作在最小还是最大模式由MN/MX引线的状态决定。 MN/MX=0工作于最大模式 MN/MX=1工作于最小模式,82,二、8088/8086的引线及功能,83,1. 主要引线最小模式下的8088引线,地址线和数据线: AD0AD7:低8位地址和低8位数据信号分时复用。在传送地址信号时为单向,传送数据信号时为双向。 A16-A19:高4位地址信号,与状态信号分时复用。 A8A15 :8位地址信号,84,主要的控制和状

19、态信号,WR: 写信号; RD: 读信号; IO/M:为“0”表示访问内存, 为“1”表示访问接口; DEN: 低电平有效时,允许进行读/写操作; DT/R:数据收发器的传送方向控制; ALE:地址锁存信号; RESET:复位信号。,85,例:,当WR=1,RD=0,IO/M=0时, 表示CPU当前正在进行读存储器操作,86,READY信号,87,中断请求和响应信号,INTR:可屏蔽中断请求输入端 NMI: 非屏蔽中断请求输入端 INTA:中断响应输出端,88,总线保持信号,HOLD:总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时, 通过该引脚向CPU发出请求。 HLDA:总线

20、保持响应信号输出端。CPU对 HOLD信号的响应信号。,89,2. 8088和8086CPU引线功能比较,数据总线宽度不同 8088的外部总线宽度是8位,8086为16位。 访问存储器和输入输出控制信号含义不同 8088IO/M=0表示访问内存; 8086IO/M=1表示访问内存。 其他部分引线功能的区别,90,三、8088/8086的内部结构,91,1. 组成,8088/8086内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),92,2. 执行单元,运算器 8个通用寄存器 1个标志寄存器 EU部分控制电路,教材第43页图2-6图,93,执行单元,功能 指令译码 指令执行 暂存中间

21、运算结果 保存运算结果特征,指令的执行,在标志寄存器FLAGS中,在ALU中完成,在通用寄存器中,94,3. 总线接口单元,功能: 从内存中取指令到指令预取队列 指令预取队列是并行流水线工作的基础 负责与内存或输入/输出接口之间的数据传送 在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,95,结论,指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而: 提高了CPU的效率; 降低了对存储器存取速度的要求,96,四、内部寄存器,97,内部寄存器的类型,含14个16位寄存器,按功能可分为三类 8个通用寄存器 4个段寄存器 2个控制寄存器,深入理解

22、:每个寄存器中数据的含义,98,1. 通用寄存器,数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI),99,数据寄存器,8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX BX CX DX,AH,AL,CH,CL,BH,BL,DH,DL,100,数据寄存器特有的习惯用法,AX:累加器。所有I/O指令都通过AX与接口传送 信息,中间运算结果也多放于AX中; BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令 中存放计数值; DX:数据寄存器。在间接寻址的I/O指令中存放 I/O端口地址;

23、在32位乘除法运算时,存放 高16位数。,101,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的 偏移地址; BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。,102,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在数据段;用BP则表示数据在堆栈段。,103,变址寄存器,SI:源变址寄存器 DI:目标变址寄存器 变址寄存器在指令中常用于存放数据在内存中的地址。,104,2. 控制寄存器,IP 指令指针寄存器,其内容为下一条要执行指令的偏移地址。 FLAGS 标志寄存器,存放运算结果的特征 6个状态标志位(CF,S

24、F,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(Zero Flag) 零标志位。当运算结果为零时ZF=1 SF(Sign Flag) 符号标志位。当运算结果的最高位为1时,SF=l OF(Overflow Fla

25、g) 溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,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(Interrupt Enable Flag) 中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。 DF(Direction Flag) 方向标志位。在

26、数据串操作时确定操作的方向。,109,3. 段寄存器,作用 用于存放相应逻辑段的段基地址 8086/8088内存中逻辑段的数量 最多为64K个 8086/8088内存中逻辑段的类型 代码段 数据段 附加段 堆栈段,存放指令代码,存放操作的数据,存放操作的数据,存放暂时不用但需保存的数据。,为什么叫逻辑段?,每个段寄存器中存放的内容=?,110,段寄存器,CS 代码段寄存器,存放代码段的段基地址。 DS 数据段寄存器 ,存放数据段的段基地址。 ES 附加段寄存器,存放数据段的段基地址。 SS 堆栈段寄存器, 存放堆栈段的段基地址,段寄存器的值表明相应逻辑段在内存中的位置,111,五、存储器寻址,

27、112,1. 内存单元的编址(1),每个内存单元在整个内存空间中都具有惟一的地址 每个内存单元的地址码都由两部分组成: 段(基)地址 16位 段内地址 16位,相对地址/偏移地址,物理地址,8088为16位结构,所以段地址和偏移地址均为16位,113,存储器的编址(2),段基地址: 决定存储单元在内存中的位置 相对地址(偏移地址) 决定该存储单元相对段内第一个单元的距离 逻辑段的起始地址称为段首 每个逻辑段内的第一个单元,段首的偏移地址=0,114,存储器的编址(3),0 0 0 0,段基地址(16位),段首地址(段首的物理地址), , ,19,0,4,段首的偏移地址: 0000H,段基地址(

28、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=8FF0H 画出各段在内存中的分布。,118,例:,CS=1055H 段首地

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

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

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

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

33、U,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 Expres

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

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

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

37、 操作数 双操作数指令: 操作码 操作数,操作数 多操作数指令: 三操作数及以上,153,三、指令中的操作数,立即数 寄存器 存储器,表征参加操作的数据本身,表征数据存放的地址,154,立即数操作数,立即数本身是参加操作的数据,可以是8位或16位,只能作为源操作数。 例: MOV AX,1234H MOV BL,22H 立即数无法作为目标操作数 立即数可以是无符号或带符号数,其数值应在可取值范围内。,155,寄存器操作数:,参加运算的数存放在指令给出的寄存器中,可以是16位或8位。 例: MOV AX,BX MOV DL,CH,156,存储器操作数,参加运算的数存放在存储器的某一个或某两个单元

38、中。 表现形式: ,立即数或寄存器, 中的内容是存放所寻找数据的单元的偏移地址,157,存储器操作数例,例: MOV AX,1200H MOV AL,1200H,22H,11H,1200H,偏移地址,AH AL,158,四、指令字长,指令字长: 由操作码的长度、操作数地址长度、操作数个数决定。,159,五、指令的执行速度,指令的字长影响指令的执行速度 对不同的操作数,指令执行的时间不同: 存储器,快!,立即数,寄存器,160,六、CISC和RISC指令系统,CISC(complex instruction set computer) 指令的功能强,种类多,常用指令用硬件实现; 指令系统复杂,难

39、使用。 RISC指令系统 指令功能较弱,种类少,格式简单; 多数指令在一个计算机周期内完成; 对存储器的结构和存取速度要求较高。,161,3.2 寻址方式,162,寻址方式,寻找操作数所在地址的方法 寻找转移地址的方法,本节,163,寻址方式,操作数可能的来源或存放处: 由指令直接给出 寄存器 内存单元 寻找操作数所在地址的方法可以有三种大类型 指令直接给出的方式 存放于寄存器中的寻址方式 存放于存储器中的寻址方式,164,一、立即寻址,指令中的源操作数是立即数,即源操作数是参加操作的数据本身 例:MOV AX,1200H,12H,00H,AH AL,MOV,代码段,立即寻址仅适合于源操作数,

40、165,二、寄存器寻址,参加操作的操作数在CPU的通用寄存器中。 例:MOV AX,BX,AX,BX,166,三、直接寻址,指令中直接给出操作数的偏移地址 默认在数据段 例: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

41、,11 22,数据段,代码段,MOV,170,寄存器间接寻址,由寄存器间接给出操作数的偏移地址; 存放偏移地址的寄存器称为间址寄存器,它们是:BX,BP,SI,DI 操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器: BX,SI,DI BP,默认在数据段,默认在堆栈段,171,寄存器间接寻址,寄存器 间接寻址,基址寻址(间址寄存器为基址寄存 器BX,BP) 变址寻址(间址寄存器为变址寄存 器SI,DI),172,五、寄存器相对寻址,操作数的偏移地址为寄存器的内容加上一个位移量 例: MOV AX,BX+DATA 设:DS=2000H,BX=0220H,DATA=05H 则:AX=20

42、225H,173,六、基址、变址寻址,操作数的偏移地址为 一个基址寄存器的内容 + 一个变址寄存器的内容; 操作数的段地址由选择的基址寄存器决定 基址寄存器为BX,默认在数据段 基址寄存器为BP,默认在堆栈段 基址变址寻址方式与相对寻址方式一样,主要用于一维数组操作。,174,例:,执行下列指令: MOV SI,1100H MOV BX,SI MOV AX,SI+BX,22H,11H,2200H,偏移地址,AH AL,11 22,数据段,175,七、基址、变址、相对寻址,操作数的偏移地址为: 基址寄存器内容+变址寄存器内容+位移量 操作数的段地址由选择的基址寄存器决定。 基址变址相对寻址方式主

43、要用于二维表格操作。,176,例:,执行以下程序段: MOV DI,1100H MOV BP,DI MOV AL,BPDI5,22H,11H,2205H,偏移地址,AL,22,堆栈段,177,八、隐含寻址,指令中隐含了一个或两个操作数的地址,即操作数在默认的地址中。 例: MUL BL 指令执行: ALBL,AX,178,3.3 8086指令系统,179,掌握:,指令码的含义 指令对操作数的要求 指令的对标志位的影响 指令的功能,180,8086指令系统,从功能上包括六大类:,数据传送 算术运算 逻辑运算和移位 串操作 程序控制 处理器控制,181,数据传送指令,通用数据传送 输入输出 地址传

44、送 标志位操作,182,一、通用数据传送,一般数据传送指令 堆栈操作指令 交换指令 查表转换指令 字位扩展指令,特点: 该类指令的执行对标志位不产生影响,183,1. 一般数据传送指令,一般数据传送指令 MOV 格式: MOV dest,src 操作: src 例: MOV AL,BL,dest,184,一般数据传送指令,注意点: 两操作数字长必须相同; 两操作数不允许同时为存储器操作数; 两操作数不允许同时为段寄存器; 在源操作数是立即数时,目标操作数不能是段寄存器; IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现。,185,一般数据传送指令例,判断下列指令的正确性:

45、MOV AL,BX MOV AX,SI05H MOV BXBP,BX MOV DS,1000H MOV DX,09H MOV 1200,SI,186,一般数据传送指令应用例,将(*)的ASCII码2AH送入内存数据段1000H开始的100个单元中。 题目分析: 确定首地址 确定数据长度 写一次数据 修改单元地址 修改长度值 判断写完否? 未完继续写入,否则结束,1063H,100B,1000H,2AH,数据段,2AH,2AH,2AH,187,一般数据传送指令应用例,程序段: MOV DI,1000H MOV CX,64H MOV AL,2AH AGAIN:MOV DI,AL INC DI ;D

46、I+1 DEC CX ;CX-1 JNZ AGAIN ;CX0则继续 HLT,188,上段程序在代码段中的存放形式,設CS=109EH,IP=0100H,则各条指令在代码段中的存放地址如下: CS : IP 机器指令 汇编指令 109E:0100 B80010 MOV DI,1000H 109E: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后数据

47、段中相应存储单元的内容改变如下: 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 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 2A DS: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

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1