微机原理及应用第3章2节2012SGQ教材

上传人:我** 文档编号:115838758 上传时间:2019-11-15 格式:PPT 页数:89 大小:1.48MB
返回 下载 相关 举报
微机原理及应用第3章2节2012SGQ教材_第1页
第1页 / 共89页
微机原理及应用第3章2节2012SGQ教材_第2页
第2页 / 共89页
微机原理及应用第3章2节2012SGQ教材_第3页
第3页 / 共89页
微机原理及应用第3章2节2012SGQ教材_第4页
第4页 / 共89页
微机原理及应用第3章2节2012SGQ教材_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《微机原理及应用第3章2节2012SGQ教材》由会员分享,可在线阅读,更多相关《微机原理及应用第3章2节2012SGQ教材(89页珍藏版)》请在金锄头文库上搜索。

1、复习上次课内容 n1、CPU从功能上如何划分的。 n2、各寄存器的名称、用法、特定用途。 1 时间:20129月5日(第二周周三) 本次课内容: 1、CPU功能。 2、8086的功能结构。 3、8086寄存器结构。 4、标志寄存器。 5、8086的存储器组织。 6、 8086的段结构。 本次课重点: 1、标志位寄存器各个标志位的含义。 2、物理地址、逻辑地址。 3、堆栈。 2 第3章 80x86微处理器 3.1 80x86微处理器简介 3.2 8086/8088微处理器 3.3 8086/8088存储器和I/O组织 3 80x86微处理器是美国Intel 公司生产的系列微处理器。该 公司成立于

2、1968年,1969年就设计了4位的4004 芯片,1973 年开发出8位的8080芯片,1978年正式推出16位的8086微处 理器芯片。 3.1 微处理器简介 4 表3.1 80x86系列微处理器概况 3.1 微处理器简介 5 表3.1 80x86系列微处理器概况 3.1 微处理器简介 6 8086是Intel系列的16位微处理器,芯片上有2.9万 个晶体管,用单一的+5V电源,时钟频率为 5MHz10MHz。 8086有16根数据线和20根地址线,它既能处理16位 数据,也能处理8位数据。可寻址的内存空间为1MB。 220 =1k1k=1MB。 8088有8位数据线,与地址线A0-A7兼

3、用; 7 微处理器的内部结构 n从应用角度(不是从内部工作原理)展开 n典型8位微处理器的基本结构 n8088/8086的功能结构 n8088/8086的寄存器结构 n8088/8086的存储器结构 n为学习指令系统打好基础 8 3.2 8086/80883.2 8086/8088的功能结构的功能结构 8086CPU功能结构分成两部分: n n 总线接口部件总线接口部件BIUBIU: 总线接口单元BIU,负责控制存贮器读写。 n n 执行部件执行部件EUEU: 执行单元EU从指令队列中取出指令并执行。 n n 特点特点: 取指部分和执行指令部分分开进行,提高了速 度。 9 外部总线 内部暂存器

4、 IP ES SS DS CS 输入/输出 控制电路 执行部分 控制电路 1 2 3 4 5 6 ALU 标志寄存器 AH AL BH BL CH CL DH DL SP BP SI DI 通用 寄存 器 地址 加法 器 指令队列缓冲器 执行部件 (EU) 总线接口部件 (BIU) 16位 20位 16位 8位 10 执行部件 总线接口部件 通用寄存器 四个专用寄存器 SP:堆栈指针,其内容与堆栈段寄存器SS的 内容一起,提供堆栈操作地址。 BP:基址指针:构成段内偏移地址的一部分. SI:(Source Index):SI含有源地址意思,产 生有效地址或实际地址的偏移量。 DI:(Desti

5、nation Index):DI含有目的意思, 产生有效地址或实际地址的偏移量。 算术逻辑单元ALU: 主要是加法器。大部分指令 的执行由加法器完成。标志寄存器: 16位字利用了9位。 标志分两类: 状态标志(6位):反映刚刚完成的操作结果情况。 控制标志(3位):在某些指令操作中起控制作用。 11 20位地址加法器 四个段寄存器:CS、DS、SS、ES CS管理代码段;DS管理数据段 SS管理堆栈段;ES管理附加段. 16位的指令指针寄存器IP: IP中的内容是下一条指令 对现行代码段基地址的偏移量, 6字节的指令队列 指令队列共六字节,总线接 口部件BIU从内存取指令, 取来的总是放在指令

6、队列中; 执行部件EU从指令队列取指 令,并执行。 12 8088的指令执行过程 13 1、总线接口部件BIU(Bus Interface Unit) 组成:16位段寄存器,指令指针,20位地址加法器, 总线控制逻辑,6字节指令队列。 作用:负责从内存指定单元中取出指令,送入指令流队列中 排队;取出指令所需的操作数送EU单元去执行。 工作过程:由段寄存器与IP形成20位物理地址送地址总线, 由总线控制电路发出存储器“读”信号,按给定的地址从存储 器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU自动将指 令取到指令队列中。若遇到转移指令等,则将指令队列清

7、空,BIU重新取新地址中的指令代码,送入指令队列。 *指令指针IP由BIU自动修改,IP总是指向下一条将要执行指 令的地址。 14 2、指令执行部件EU(Exection Unit) 组成:通用寄存器,标志寄存器,ALU,EU控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要 求向EU内部各部件发出控制命令,完成执行指令的功能 。若执行指令需要访问存储器或I/O端口,则EU将操作 数的偏移地址送给BIU,由BIU取得操作数送给EU。 15 3、 8086CPU结构的特点: 减少了CPU为取指令而等待的时间,提高了CPU的运行速度 。 16 3

8、.3 Intel 8088/8086寄存器结构 AHAL CHCL BHBL DHDL SP BP SI DI PSW(FLAG) IP CS DS SS ES 17 8088/8086寄存器名称与功能 nAX-累加器,通用寄存器 nBX-基址(基数)寄存器,通用寄存器 nCX-计数寄存器,通用寄存器 nDX-数据寄存器,通用寄存器 nSP-堆栈指针 nBP-基址(基数)指针 nSI-源变址指针 nDI-目的变址指针 nCS、DS、SS、ES-段寄存器 nIP-指令指针(Instruction Pointer) nPSW-状态标志(Program State Word) 18 1、数据寄存器

9、n 包括4个寄存器AX,BX,CX,DX。这些寄存器用以暂时保存计算过程中所得 到的操作数及结果。即能处理16位数,也能处理8位数,当处理8位数时,这4 个16位寄存器作为8个8位寄存器AH,AL,BH,BL,CH,CL,DH,DL来使用。 n每个寄存器又有它们各自的专用目的。 nAX累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等; nBX基址寄存器,常用做存放存储器地址; nCX计数器,作为循环和串操作等指令中的 隐含计数器; nDX数据寄存器,常用来存放双字长数据的 高16位,或存放外设端口地址。 19 数据寄存器的特定用法 寄存器执执 行 操 作 AX整字乘法,整字除法,

10、整字I/O AL 字节节乘法,字节节除法,字节节I/O。十进进制算术术运算。 AH字节节乘法,字节节除法 BX查查表存表基址 CX字符串操作,循环环 CL变变量的移位和循环环移位 DX整字乘法,整字除法, I/O中端口地址255 字乘法,字除法运算中,将DX,AX组合成一个双字长数,DX 用来存放高16位数。 20 例如:在指令中指明作用 ADD AX,BX MOV BL,AL 例如:在指令中特定作用 SHL AX, CL 例如:在指令中隐含作用 MUL BL (隐含使用AL、AX) 21 2、变址寄存器 n 这些寄存器在运算过程中可以用来存放操作 数(只能以字为单位),也在段内寻址时提供偏移

11、 地址 。 n SI是源变址寄存器 DI是目的变址寄存器 n串操作类指令中,SI和DI具有特别的功能。SI,DI 一般与段寄存器DS、ES联用,以确定数据段中某 一存储单元的地址,SI,DI具有自动增量和自动减 量的功能,这一点使在串操作指令中用做变址非常 方便,SI作为隐含的源变址DS联用,DI作为隐含 的目的变址和ES连用,从而达到在数据段和附加段 中寻址的目的。 22 例如:指令中作用变址寄存器 MOV AX,10HSI ADD DI, 1234H MOV SI, 1000H MOV SI, 1000H 23 3、指针寄存器 n指针寄存器用于寻址内存堆栈内的数据 nSP为堆栈指针寄存器,

12、指示栈顶的偏移 地址 nSP不能再用于其他目的,具有专用目的 nBP为基址指针寄存器,表示数据在堆栈 段中的基地址 nSP和BP寄存器与SS段寄存器联合使用以 确定堆栈段中的存储单元地址 24 例如:指令中作用指针寄存器 PUSH AX ;执行后SP的值SP2 ADD BP , 1234H ; 数据相加的结果寄存在堆栈段 25 4、 段寄存器 DS 数据段寄存器 (Data Segment) CS 代码段寄存器 (Code Segment) ES 附加段寄存器 (Extra Segment) SS 堆栈段寄存器 (Stack Segment) 26 段寄存器就是用来存放段地址的,CS段寄存器用

13、来存 放当前正在运行的程序; DS段寄存器用来存放当前运行的数据,若程序中使用了段 操作指令,源操作数也存放在数据段中; SS段寄存器规定了堆栈所处的区域; ES段寄存器用来存放辅助数据,因为ES是一个附加的数 据段,在执行串操作指令时,目的操作数也一般存放在ES 段中。 27 5、指令指针IP n指令指针寄存器IP,指示代码段中指 令的偏移地址 n它与代码段寄存器CS联用,确定下一 条指令的物理地址 n计算机通过CS : IP寄存器来控制指令 序列的执行流程 nIP寄存器是一个专用寄存器 28 6、 标志寄存器 n标志(Flag)用于反映指令执行结果 或控制指令执行形式 n8086处理器的各

14、种标志形成了一个16 位的标志寄存器FLAGS(程序状态字 PSW寄存器) OF 1115 12 DF 10 IF 9 TF 8 SF 7 ZF 65 AF 43 PF 21 CF 0 程序设计需要利用标志的状态 29 标志的分类 n状态标志: nCF ZF SF PF OF AF n控制标志: nDF IF TF 30 PSW(FLAG)有关位定义 C进位位 P奇偶标志(结果低8位中1的个数) A半进位标志(低4位向高4位的进位或借 位) Z结果为零标志 S结果符号位 T跟踪标志(单步运行) I中断允许标志 D方向标志 O溢出标志 O DITSZAPC 31 进位标志CF(Carry Fla

15、g) n当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1 ;否则CF = 0。 49H + 6DH0B6H, 01001001B 01101101B 010110110B 没有进位:CF = 0 0BBH + 6AH(1)25H, 10111011B 01101010B 100100101B 有进位:CF = 1 32 零标志ZF(Zero Flag) n若运算结果为0,则ZF = 1; 否则ZF = 0 49H + 6DHB6H, 01001001B 01101101B 10110110B 结果不是零:ZF = 0 注意: ZF为1表示的结果是0 75H

16、+ 8BH(1)00H, 01110101B 10001011B 100000000B 结果是零:ZF = 1,CF1 33 符号标志SF(Sign Flag) n运算结果最高位为1,则SF = 1;否则 SF = 0 带符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态 字节操作时,D7 =0, SF=0,结果为正; 字节操作时,D7 =1, SF=1,结果为负; 字操作时,D15 =0, SF=0,结果为正; 字操作时,D15 =1, SF=1,结果为负。 最高位符号位 SF 34 奇偶标志PF(Parity Flag) n当运算结果最低字节中“1”的个数为零或 偶数时,PF = 1;否则PF = 0 3AH + 7CHB6H 00111010B 01111100B 10110110B PF标志仅反映最低8位中“1”的个数是 偶或奇,即使是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号