微机原理与接口 第3章4—80X86微处理器技术的发展
微机原理课后习题参考答案
微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微型计算机:简称“微型机”、“微机”,也称“微电脑”。
由大规模集成电路组成的、体积较小的电子计算机。
由微处理机(核心)、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机系统:简称“微机系统”。
由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。
配有操作系统、高级语言和多种工具性软件等。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。
总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。
1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。
微机原理及接口技术(习题答案)
第1章微机运算基础习题和思考题1.请完成以下计算:174.66D=(10101110.10101)B=(AE. A8)H10101110101.01011B=(1397.344)D=(575.58)H4BCH=(010*********)B=()BCD2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X表示原码时,其真值为:+101010当X表示补码时,其真值为:+101010当X表示反码时,其真值为:+101010当X表示无符号数数时,其真值为:001010103.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18 -33-37-90-70 50+84答:120+18其补码形式分别为:(120)补=01111000 (18)补=0001001001111000+ 0001001010001010由于C s=0 ,C p=1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=11011111 (-37)补=1101101111011111+1101101110111010由于C s=1, C p=1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=10011100 (-70)补=1011101010011100+1011101001010110由于C s=1, C p=0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010 (84)补=0101010000110010+0101010010000110由于C s=0, C p=1,所以有溢出,结果错误4.请写出下列字符串的ASCII码值。
My name is Zhang san.4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E第2章 80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
微机原理与接口技术习题答案(供参考)
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2.若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADDAX,BX⑵ ADCAX,BX
⑶ SBBAX,BX⑷ NEGAX
00110010
+01010100
10000110
由于Cs=0,Cp=1,所以有溢出,结果错误
4.请写出下列字符串的ASCII码值。
My name is Zhang san.
4D 79 6E 61 6D 65 69 735A68 61 6E 67 73 61 6E 2E
第2章 80X86微机系统
习题与思考题
DAA
之后,AL=?、标志AF=?、CF=?
⑵ 若执行指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?
解答
⑴ AL=65H, AF=1, CF=1。
⑵ AL=91H, AF=0, CF=1。
4.指出下列指令中哪些是错误的,并指出错在何处?
⑴ MOV DL,[DX]⑵ MOV ES,2000H
MOV AH, 4CH
MOV 21H
CODE ENDS
END BEG
3.对一个给定的N数据,用冒泡排序法进行排序。
解答:.486
Data segment
Buf db‘abcd18437hj’
Lens equ $-buf
Count db lens
Flag db ?
Data ends
Code segment
⑸ AND AX,BX⑹ ORAX,BX
微机原理与接口第3章2—8086微处理器总线周期及引脚资料
3.2.3 8086微处理器的总线时序 1. 总线时序
⑴ 指令周期
每条指令的执行由取指令、译码和执行 等操作组成,执行一条指令所需要的时间 称为指令周期(Instruction Cycle),不同 指令的指令周期是不等长的,一个指令周 期由一个或若干个总线周期组成。
1
第3章 80x86微处理器
– 4个时钟周期编号为T1、T2、T3和T4 – 总线周期中的时钟周期也被称作“T状态” – 时钟周期的时间长度就是时钟频率的倒数
• 当需要延长总线周期时插入等待状态Tw • CPU进行内部操作,没有对外操作时,其引脚就处
于空闲状态Ti
12
第3章 80x86微处理器
第3章:3.2 8088的总线时序(续3)
(c)
3
第3章 80x86微处理器
⑴ 总线读操作时序
当8086 CPU 进行存储器或I/O端口读操作 时,总线进入读周期。基本的读周期由4个时 钟周期组成:T1、T2、T3和T4。CPU在T3到T4之间 从总线上接收数据。当所选中的存储器和外设 的存取速度较慢时,则在T3和T4之间将插入1个 或几个等待周期TW。图3.3是8086最小方式下的 总线读操作时序图。下面对图中表示的读操作 时序进行说明。
⑵ 总线周期
8086CPU与外部交换信息总是通过总线进行的 。CPU的每一个这种信息输入、输出过程所需要 的时间称为总线周期(BusCycle),一般一个总线 周期由四个时钟周期组成。
⑶ 时钟周期
时钟脉冲的重复周期称为时钟周期 (Clock Cycle)。时钟周期是CPU的时间基准,由计算机 的主频决定。如8086的主频为5MHz,1个时钟周 期就是200ns。
11
微机原理及接口技术-第3章-80X86微处理器及其体系结构
A19/S6-A16/S3:输出访问存储器的20位地址的高4位地址A19A16。 A19/S6-A16/S3:输出CPU的工作状态。 A19/S6-A16/S3:分时工作,T1状态:输出地址的高4位信息; T2、T3、T4状态:输出状态信息。 S6:指示8086/8088当前是否与总线相连,S6=0,表示 8086/8088当前与总线相连。
教学目的:使学生掌握80X86微处理器的基本使用 教学重点:8086微处理器的组成及其寄存器结构; 8086
微处理器的存储器和I/O组织
教学难点:8086微处理器的存储器和I/O组织
1
3.1 8086微处理器的内部结构
微型计算机是由具有不同功能的一些部件组成的,包含运 算器和控制器电路的大规模集成电路,称为“微处理器”,又 称 “中央处理器(CPU)”,其职能是执行A/L运算,并负责 控制整个计算机系统,使之能自动协调地完成各种操作。 3.1.1 Basic performance index 16位微处理器; 采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万 只晶体管; 使用单一的+5V电源,40条引脚双列直插式封装; 时钟频率为5MHz~10MHz,基本指令执行时间为.3 s~0.6 s m m 16根数据线和20根地址线,可寻址的地址空间达1MB 8086可以和浮点运算器、I/O处理器或其他处理器组成多处 理器系统,从而极大地提高了系统的数据吞吐能力和数据处 2 理能力。
24
(6)、INTR:可屏蔽中断请求信号,输入,高电平有效。当 INTR=1,表示外设向CPU发出中断请求,CPU在当前指令周期的 最后一个T状态去采样该信号,若此时,IF=1,CPU响应中断, 执行中断服务程序。 (7)、/INTA:中断响应信号,输出,低电平有效。表示CPU响 应了外设发来的中断申请信号INTR。 (8)、NMI:不可屏蔽中断请求信号,输入,上升沿触发。该 请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号 有效,则执行完当前指令后立即响应中断。 (9)、/TEST:测试信号,输入,低电平有效。当CPU执行WAIT 指令时,每隔5个时钟周期对/TEST进行一次测试,若/TEST=1, 继续等待,直到/TEST=0。
《微机原理与接口技术》课程总结
《微机原理与接口技术》课程总结本学期我们学习了《微型计算机原理与接口技术》,总的来说,我掌握的知识点可以说是少之又少,我感觉这门课的内容对我来说是比较难理解的。
这门课围绕微型计算机原理和应用主题,以Intel8086CPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086CPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和I/O接口扩展方法,微机的中断结构、工作过程,并系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255A、串行接口8251A、计数器/定时器8253、中断控制器8259A、A/D(ADC0809)、D/A (DAC0832)、DMA(8237)、人机接口(键盘与显示器接口)的结构原理与应用。
在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。
第一章:微型计算机概论(1)超、大、中、小型计算机阶段(1946年-1980年)采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理(2)微型计算机阶段(1981年-1990年)微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。
(3)计算机网络阶段(1991年至今)。
计算机的数值表示方法:二进制,八进制,十进制,十六进制。
要会各个进制之间的数制转换。
计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。
第二章:80X86微处理器结构本章讲述了80X86微处理器的内部结构及他们的引脚信号和工作方式,重点讲述了8086微处理器的相关知识,从而为8086微处理器同存储器以及I/O设备的接口设计做了准备。
本章内容是本课程的重点部分。
第三章:80X86指令系统和汇编语言本章讲述了80X86微处理器指令的多种寻址方式,讲述了80X86指令系统中各指令的书写方式、指令含义及编程应用;讲述了汇编语言伪指令的书写格式和含义、汇编语言中语句的书写格式。
2019年最新-微机原理与接口第3章2—8086微处理器总线周期及引脚-精选文档
8086CPU与外部交换信息总是通过总线进行的 。CPU的每一个这种信息输入、输出过程所需要 的时间称为总线周期(BusCycle),一般一个总线 周期由四个时钟周期组成。
⑶ 时钟周期
时钟脉冲的重复周期称为时钟周期 (Clock Cycle)。时钟周期是CPU的时间基准,由计算机 的主频决定。如8086的主频为5MHz,1个时钟周 期就是200ns。
CLK
空 闲 状态 TI在8086 系 统 中 一 般 为 三 个 , 而 在 8088 系 统中则没有。
T1 T2 T3 T4 TI TI TI T1 T2 T3 T4
ALE
INTA AD7~AD0
中断类型
图3.5 中断响应周期的时序
10
第3章 80x86微处理器
CPU的中断响应周期包括两个总线周期, 在每个总线周期中都从INTA端输出一个负 脉冲,其宽度是从T2状态开始持续到T4状态 的开始。第一个总线周期的INTA负脉冲, 用来通知中断源,CPU准备响应中断,中断 源应准备好中断类型码,在第二个总线周 期的INTA负脉冲期间,外设接口(一般经中 断控制器)应立即把中断源的中断类型码送 到数据线的低8位AD7~AD0上。
4
第3章 80x86微处理器源自CLK M/IO A19/S6~A16/S3 BHE/S7 AD15~AD0 ALE
RD DT/R DEN
T1
T2
T3
TW
T4
①
高为读内存
②
⑥
地址
④
⑧
BHE输出
②
⑦
地址输出
低为读I/O 状态输出
数据输入
③ ⑨
⑤ ⑩
图3.3 8086读周期的时序
第3章(1)微机原理与接口技术(第三版)(王忠民)
第三章 80x86微处理器
第三章 80x86微处理器
2. 数据总线从8086的16位到80586的64位。数据 总线是计算机中组成各部件间进行数据传送时的公共 通道。其位数(宽度)表示CPU的字长,数据总线位数 越多,数据交换的速度越快。
微机原理与接口技术
——第三章 80x86微处理器
西安邮电大学 计算机学院
范琳
第三章 80x86微处理器
1
80x86 微处理器简介
2
8086 微处理器
3
8086 寄存器
4
8086 引脚功能
5
8086 存储器组织
第三章 80x86微处理器
3.1 80x86微处理器简介
80x86微处理器是美国Intel公司生产的系列微处 理器。从8086开始到目前已进入第五代微处理器: 8086(8088)、80286、80386、80486和80586 (Pentium、Pentium ⅡⅣ)。其主要发展特点是:
近的数据可能很快就会被使用。
所以,层次结构的存储器系统,可以将最近访问 过的内容放入Cache,将近期访问过内容所属的整 个块放入Cache。
第三章 80x86微处理器
80x86CPU在发展过程中,存储器的管理机制也 发生了较大变化。
8086/8088CPU:分段实方式 80286CPU:分段实方式、保护方式(可提供虚 拟存储管理和多任务管理机制)。 8038680586CPU:分段实方式、保护方式、虚 拟8086方式(可同时模拟多个8086处理器工作)。
第3章 80x86微处理器及其系统结构PPT课件
❖在任何时候,CPU将CS、IP中的内容当作指令的段地 址和偏移地址,用它们合成指令的物理地址,到内存中 读取指令码,执行。
结 论:
❖CPU将CS:IP指向的内存单元中的内容看作指令。
❖如果说,内存中的一段信息曾被CPU执行过的话,那么, 它所在的内存单元必然被CS:IP指向过。
18
第3章 80x86微处理器及其系统结构
CS和IP 小结 段地址在8086CPU的寄存器中存放。
❖当8086CPU要访问内存时,由段寄存器提供 内存单元的段地址。
8086CPU的8位寄存器存储逻辑 以AX为例,8086CPU的16位寄存器分为 两个8位寄存器的情况:
数据2000在AX寄存器的存储情况 9
第3章 80x86微处理器及其系统结构
数
据
2000
在
AX 中 的 存
一个字可以存在一个16位寄存器中,这个字的高 位字节和低位字节自然就存在这个寄存器的高8 位寄存器和低8位寄存器中。
3.1 8086微处理器
3.1.2 8086寄存器结构 ❖寄存器的逻辑结构
一个16位寄存器可以存储一个16位的数 据。
一个16位寄存器所能存储的数据的最大 值为216-1
数据18在寄存器AX的存放情况
7
第3章 80x86微处理器及其系统结构
3.1 8086微处理器
3.1.2 8086寄存器结构
»DI目标变址寄存器,指令中SI对应DS,
DI对应ES,不能互换。
11
第3章 80x86微处理器及其系统结构
3.1 8086微处理器
3.1.2 8086寄存器结构 ❖段寄存器
《微机原理》教学课件 第3章80X86微处理器
23
2021/8/9
第3章 Intel 80X86微处理器
4.时序控制信号形成部件
时序控制信号形成部件,对译码器送来的控制信号,按一定 的时序关系产生控制信号序列,控制CPU内部各部件完成指令 功能。同时也发出各种外部控制信号。
时序信号的形成,是在时钟脉冲的作用下进行的。 时序控制信号要根据被控制部件的反馈信号进行调整。
15
2021/8/9
第3章 Intel 80X86微处理器
总线
总线接收器 总线发送器 总线发送器
模
型
状态寄存器
机
移位器
运
算
ALU
器
组
锁存器A 锁存器B
成
框
图
源寄存器
暂存寄存器
通用寄存器
16
2021/8/9
第3章 Intel 80X86微处理器
3.2 控制器的功能和基本组成 3.2.1 控制器的功能
14
2021/8/9
第3章 Intel 80X86微处理器
源寄存器用来存放源操作数。 暂存寄存器用来暂存中间结果。 4.移位器 移位器用来将ALU的数据进行左移、右移、直传、 半字交换等操作。供不同运算要求使用。
5.状态寄存器
状态寄存器用来存放在运算过程中得到的状态 标志(如零标志、进位标志、符号标志等),以便 供程序判断使用。
5.脉冲源,启停线路
脉冲源主要是时钟发生器,它产生一定频率的脉冲信号,作 为整个机器的时钟脉冲,该脉冲信号是机器的工作脉冲的基准 信号。
在加电时,产生一总清信号(RESET)。启停电路送出或封锁 时钟脉冲,控制时序信号的发生或停止,从而启动或停止机器。
24
2021/8/9
微型计算机原理及接口技术第3章 80X86指令系统及汇编语言
第3章 80X86指令系统及汇编语言
..
操作码 2000 ∶ 0FFFH 50H 2000∶ 1000H
2000 ∶ 1050H 操作码
CS + IP +
20 00 10 00
50 21 05 0
.. .. ..
图3.8 段内相对寻址
第3章 80X86指令系统及汇编语言
2.段内间接寻址 在段内间接寻址方式中,转移地址的段内偏移地 址要么存放在一个16位的寄存器中,要么存放在存贮 器的两个相邻单元中。存放偏移地址的寄存器和存贮 器的地址将按指令码中规定的寻址方式给出。此时, 寻址所得到的不是操作数,而是转移地址。 例:JMPCX 其过程如图3.9所示。
第3章 80X86指令系统及汇编语言
3.1.2转移地址的寻址方式 1.段内相对寻址 在段内相对寻址方式中,指令应指明一个8位或16
位的相对地址位移量DISP(有正负符号, 用补码表示)。此时,转移地址应该是代码段寄存
器CS内容加上指令指针IP内容,再加上相对地址位移 量DISP。
例:JMPDISP1 其过程如图3.8所示。
第3章 80X86指令系统及汇编语言
2.交换指令 XCHG OPRD1,OPRD2 交换指令把一个字节或一个字的源操作数与目的 操作数相交换。这种交换能在通用寄存器与累加器之 间、通用寄存器之间、通用寄存器与存贮器之间进行, 但是段寄存器不能作为一个操作数。例如:
XCHGAL,CL XCHGAX,DI XCHGBX,SI XCHGAX,BUFFER XCHGBX,DATA[SI]
第3章 80X86指令系统及汇编语言
立即数
段寄存器 CS,DS,SS,ES
通用寄存器 AX,BX,CX,DX,BP,SP,SI,DI AH,AL,BH,BL,CH,CL,DH,DL
《微机原理与接口技术》(第3版_汪吉鹏)电子教案3
说明:
OPS → OPD
(1)MOV指令不允许在两个存储单元之间直接传送数据。 (2)MOV指令不允许在两个段寄存器之间直接传送数据。 (3)MOV指令不允许用立即数直接为段寄存器赋值。 (4)MOV指令不影响标志位。
MOV指令传送信息的形式:
指令系统
(1)寄存器到寄存器,如: MOV AX,BX (2)立即数到寄存器,如: MOV AX, 1234H (3)立即数到存储单元,但必须用PRT确定操作数类型
汇编格式为:段寄存器名:偏移地址 功能:冒号“:”之前的段寄存器指明了操作数所在段。
指令系统
举例说明:
例如:
(1)MOV AX,DS:[BP]
(2)MOV AX,ES:[BX]
(3)MOV BX,SS:[SI]
其中,“DS:”、“ES:”、“SS:”均为跨段前缀。此时,默认不起作用。 所
以,操作数的物理地址由“:”前面的段寄存器内容左移4位与偏移地址EA相加 而
(21300H)=5678H。
执行后:AX=5678H,BX、DI,DS。(21300H)内容不变。
8.段超越问题
指令系统
以上七种寻址方式中,除立即数寻址方式和寄存器寻址方式外,其它各种 寻址方式的操作数都在除代码段以外的存储区中。通常,若选用寄存器BP 作间址寄存器、变址寄存器或基址寄存器,只要BP出现在方括号之内, 则操作数在当前堆栈段,此时,操作数的物理地址PA由堆栈段寄存器SS 的内容左移4位与偏移地址EA相加形成。这是8086的基本约定,即默认状 态。当要否定默认状态,到非约定段寻找操作数时,必须用跨越段前缀 指明操作数所在段的段寄存名。
注:该操作数可以是8位或者16位二进制补码表示的常数。
说明:指令的下一字单元的内容为操作数n, n也称为 立即操作数。
80x86微机原理与接口技术课程设计
80x86微机原理与接口技术课程设计
摘要
本文主要介绍80x86微机原理和接口技术的课程设计。
80x86微机是指由
Intel公司推出的一系列x86架构的微处理器,是现代计算机的基础。
通过本次课
程设计,学生将学会如何搭建一个基于80x86微机的系统,包括软件和硬件的设计与实现。
该课程的目的是让学生深入了解80x86微机的原理和接口技术,并能够独立完成微处理器系统的设计。
引言
80x86微机是指由Intel公司推出的一系列x86架构的微处理器,是现代计算
机的基础。
80x86微机的原理和接口技术是计算机专业中的经典课程之一,非常重要。
在学习过程中,我们将首先了解80x86微机的基本组成、工作原理和指令集。
然后,我们将学习80x86微机的接口技术,主要包括硬件接口和软件接口,并通过实践掌握80x86微机的应用和调试技术。
最后,我们将通过课程设计来应用所学知识,实现一个基于80x86微机的系统。
课程设计目的
80x86微机原理和接口技术的课程设计的主要目的是: - 让学生深入了解
80x86微机的原理和接口技术; - 培养学生独立完成微处理器系统的设计和实现
能力; - 让学生掌握80x86微机的应用和调试技术; - 提高学生的工程实践能力。
课程设计任务
本次课程设计的任务是使用80x86微机设计和实现一个基于汇编语言的游戏程序。
具体要求包括: - 设计和搭建一个基于80x86微机的硬件系统,包括CPU、
1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 80x86微处理器 1.通用寄存器 . • EAX—操作数和结果数据的累加器。 EAX—操作数和结果数据的累加器。 EBX— DS段中数据的指针 段中数据的指针。 • EBX—在DS段中数据的指针。 ECX—串和循环操作的计数器。 • ECX—串和循环操作的计数器。 EDX—I/O指针 指针。 • EDX—I/O指针。 ESI—指向DS寄存器段中的数据指针 串操作的源指针。 寄存器段中的数据指针、 • ESI—指向DS寄存器段中的数据指针、串操作的源指针。 EDI—指向ES寄存器段中的数据 目标)的指针、 寄存器段中的数据( • EDI—指向ES寄存器段中的数据(目标)的指针、串操作的 目标指针。 目标指针。 ESP—堆栈指针( SS段中 段中) • ESP—堆栈指针(在SS段中)。 EBP—堆栈上数据指针( SS段中 段中) • EBP—堆栈上数据指针(在SS段中)。
6
第3章 80x86微处理器 此外, 以及80286进行存储器寻址时,8个通用寄 进行存储器寻址时, 个通用寄 此外,在8086/8088以及 以及 进行存储器寻址时 存器中只有地址指针寄存器(SP和BP)、变址寄存器 和 DI)以及 存器中只有地址指针寄存器 和 、 变址寄存器(SI和 以及 基址寄存器BX这 个寄存器可以用来存放操作数在存储器段内的 基址寄存器 这5个寄存器可以用来存放操作数在存储器段内的 偏移地址。 及其后续机型中, 偏移地址。在80386及其后续机型中,所有这 个32位通用寄存器 及其后续机型中 所有这8个 位通用寄存器 既可以存放数据,也可以存放地址,也就是说,这些寄存器都可 既可以存放数据, 也可以存放地址, 也就是说, 以用来提供操作数在段内的偏移地址。 以用来提供操作数在段内的偏移地址。 对于这8个通用寄存器的专用特性, 及其后续机型的32 对于这 个通用寄存器的专用特性,80386及其后续机型的 个通用寄存器的专用特性 及其后续机型的 位通用寄存器的专用特性与8086/8088以及 以及80286的16位通用寄存 位通用寄存器的专用特性与 以及 的 位通用寄存 器的专用特性是相同的, 的计数特性, 器的专用特性是相同的,如ECX的计数特性,ESI和EDI分别作为 的计数特性 和 分别作为 字符串操作指令中源串和目的串的地址寄存器等。 字符串操作指令中源串和目的串的地址寄存器等。
ID VIP ACVMRF VIF 31 21 20 19 18 17 16 15
NT IOPL OF DF IF TF SF ZF 8 7AFຫໍສະໝຸດ PFCF Pentium 0
9
图3.16 80x86标志寄存器
第3章 80x86微处理器 3.段寄存器 . 相同, 中也有4个段寄存器 与8086/8088 CPU相同,80286 CPU中也有 个段寄存器 、 相同 中也有 个段寄存器CS、 DS、SS和ES,它们的功能在本章前面“8086/8088寄存器结构” 寄存器结构” 、 和 ,它们的功能在本章前面“ 寄存器结构 一节中已做了详细介绍,在此不再赘述。 一节中已做了详细介绍,在此不再赘述。 及其以后的80x86 CPU中,除上述 个段寄存器外, 个段寄存器外, 在80386及其以后的 及其以后的 中 除上述4个段寄存器外 又增加了2个段寄存器 个段寄存器FS和 ,它们也是附加的数据段寄存器 附加的数据段寄存器, 又增加了 个段寄存器 和GS,它们也是附加的数据段寄存器, 如图3.15所示。 所示。 如图 所示 除非专门指定,一般情况下, 除非专门指定,一般情况下,各段在存储器中的分配是由操 作系统负责的。 作系统负责的。在80x86中,段寄存器和与其对应存放偏移地址 中 的寄存器之间有一种默认的组合关系,这种默认关系, 的寄存器之间有一种默认的组合关系,这种默认关系,80286与 与 8086/8088相同 见表 相同(见表 及其后续CPU中段寄存器与提供 相同 见表3.2),80386及其后续 , 及其后续 中段寄存器与提供 段内偏移地址的寄存器之间的默认组合如表3.10所示。 段内偏移地址的寄存器之间的默认组合如表 所示。 所示
10
第3章 80x86微处理器 及其后续CPU中段寄存器与提供段内偏移地址 表3.10 80386及其后续 及其后续 中段寄存器与提供段内偏移地址 的寄存器之间的默认组合
段寄存器 CS DS SS ES FS GS EIP EAX、EBX、ECX、EDX、ESI、EDI或一个 位或 、 或一个8位或 、 、 、 、 或一个 32位数 位数 ESP或EBP 或 EDI(用于字符串操作指令 用于字符串操作指令) 用于字符串操作指令 无默认 无默认
7
第3章 80x86微处理器 2.控制寄存器 . 8086/8088 和 80286 的 控 制 寄 存 器 包 括 指 令 寄 存 器 IP 和 FLAGS两个 位寄存器。80286中的这两个寄存器与前面介绍的 两个16位寄存器 两个 位寄存器。 中的这两个寄存器与前面介绍的 8086/8088 中 相 同 , 只 不 过 80286 中 的 标 志 寄 存 器 FLAGS 比 8086/8088中的 中的FLAGS多定义了两个标志,如图 多定义了两个标志, 所示。 中的 多定义了两个标志 如图3.16所示。 所示 80386及其后续机型也有两个 位专用寄存器EIP和 及其后续机型也有两个32位专用寄存器 和 及其后续机型也有两个 位专用寄存器 EFLAGS。它们的作用与相应的 位寄存器相同。标志寄存器 。它们的作用与相应的16位寄存器相同 位寄存器相同。 FLAGS各位的定义如图 各位的定义如图3.16所示,其中新定义位的作用将在后 所示, 各位的定义如图 所示 面涉及时介绍。 面涉及时介绍。
1
第3章 80x86微处理器 对程序设计人员来讲,了解CPU内部寄存器结构并掌握其 内部寄存器结构并掌握其 对程序设计人员来讲,了解 使用方法是进行汇编语言程序设计的关键和基础。 使用方法是进行汇编语言程序设计的关键和基础。 寄存器可分为程序可见寄存器和程序不可见寄存器两大类。 寄存器可分为程序可见寄存器和程序不可见寄存器两大类。所谓 可见寄存器和程序不可见寄存器两大类 程序可见寄存器, 程序可见寄存器,是指在汇编语言程序设计中可以通过指令来访 问的寄存器。 问的寄存器。程序不可见寄存器是指一般用户程序中不能访问而 由系统所使用的寄存器。本节将从程序设计角度介绍80x86 CPU 由系统所使用的寄存器。本节将从程序设计角度介绍 内部程序可见寄存器的结构和使用方法, 内部程序可见寄存器的结构和使用方法,而对于那些程序不可见 寄存器将在随后介绍CPU结构时对其做必要说明。 结构时对其做必要说明。 寄存器将在随后介绍 结构时对其做必要说明 8086/8088 CPU中程序可见寄存器可分为三类:通用寄存器、 中程序可见寄存器可分为三类: 中程序可见寄存器可分为三类 通用寄存器、 段寄存器和控制寄存器。 段寄存器和控制寄存器。 80286之后的 之后的CPU中寄存器同样也分为上述三类,只不过有关寄 中寄存器同样也分为上述三类, 之后的 中寄存器同样也分为上述三类 存器的功能和位数有所扩充而已。 给出了80x86的程序可 存器的功能和位数有所扩充而已。图3.15给出了 给出了 的程序可 见寄存器组,下面分别加以说明。 见寄存器组,下面分别加以说明。
11
提供段内偏移地址的寄存器
第3章 80x86微处理器 3.4.2 80x86存储器管理 存储器管理 存储器管理是由微处理器的存储器管理部件MMU提供的对 提供的对 存储器管理是由微处理器的存储器管理部件 系统存储器资源进行管理的机制, 系统存储器资源进行管理的机制,其目的是方便程序对存储器的 应用。本节从应用角度出发,介绍80x86系列微处理器的存储器 应用 。 本节从应用角度出发 , 介绍 系列微处理器的存储器 管理机制。 管理机制。 从8086/8088到Pentium,80x86系列微处理器的存储器管理 到 , 系列微处理器的存储器管理 机制有了较大变化。 机制有了较大变化。 8086/8088只有一种存储器管理方式,即实地址方式(简称实方式 ; 只有一种存储器管理方式, 实地址方式 简称实方式 简称实方式); 只有一种存储器管理方式 80286 CPU具有两种工作方式,即实方式和保护虚地址方式 简称 具有两种工作方式, 实方式和保护虚地址方式 方式(简称 具有两种工作方式 保护方式); 保护方式 ; 80386及其以后的 及其以后的CPU有三种工作方式,即实方式、保护方式和 有三种工作方式, 及其以后的 有三种工作方式 即实方式、 虚拟8086方式。 方式。 虚拟 方式
8
第3章 80x86微处理器
IOPL是I/O特权标志,占用两位,指定 操作所处的特权级(0-3),虚地址保护 是 特权标志 占用两位,指定I/O操作所处的特权级 - ), 特权标志, 操作所处的特权级( ),虚地址保护 方式适用。 是嵌套任务标志 是嵌套任务标志, 表示当前任务正嵌套在另一任务中 表示当前任务正嵌套在另一任务中, 方式适用。NT是嵌套任务标志,为1表示当前任务正嵌套在另一任务中,为0表示不 表示不 是嵌套任务。VM是虚拟模式标志,RF是重新启动标志。 是嵌套任务。
5
第3章 80x86微处理器
32控位位 31 EAX EBX ECX EDX 31 ESP EBP ESI EDI 31 EIP EFLAGS 15
注注: ①对对8086/8088和80286, 阴阴阴阴阴阴阴未目; ②FS和GS页页页寄寄未 位位。
16 15 AH BH CH DH 16 15
8控/16控位位 位位 0 AL AX 累累页 BL BX 页线页页页 CL CX 计数页页页 DL DX 数数页页页 0 SP BP SI DI
堆堆堆堆页页页 页线页页页 源源线页页页 目目源线页页页
数数 页页页 通未 页页页
堆堆 页页页 源线 页页页
16 15 IP FLAGS
0
堆指堆堆页页页 状状状状页页页 控制页页页
0 CS DS SS ES FS GS
代代段页页页 数数段页页页 堆堆段页页页 附累数数段页页页 段页页页