当前位置:文档之家› 第3章. 80868088微处理器及其系统-1

第3章. 80868088微处理器及其系统-1


21
2 段寄存器
段寄存器是为实现“段加偏移”寻址而设置的。
4个16位段寄存器,8086/8088 指令可直接访问。
16位段寄存器
00000H
段基址
代码段
段基址
代码段寄存器
数据段寄存器 堆栈段寄存器
CS
DS SS
数据段
段基址 段基址
附加段寄存器
ES
堆栈段 附加段
注意:段寄存器的功能不能互换!
FFFFF H
26
CS + IP CPU 掌握
0000
偏移量IP
FFFFFH

3 .专用寄存器—标志寄存器F

标志(Flag)用于反映指令执行结果的情况或控制指令的执行 方式 又称程序状态字寄存器(program status word,PSW)。
27
3 .标志寄存器
8086/8088标志寄存器F为16位,只用了其中的9位 6个状态标志位:CF、PF、AF、ZF、SF、OF 3个控制标志位:DF、IF、TF FH
IP中含有BIU要取的下1条指令(字节) 的偏移地址。 IP在程序运行中能自动加1, 指向要执行的下1条指 令(字节) 。 有些指令能使IP值改变或使IP值压进堆栈,或由堆 栈弹出恢复原值。

14
3.1.1 8068/8088CPU内部结构
执行单元组成
16位算术逻辑单元(ALU)
算术、逻辑运算,计算16位偏移量
15
0 SI 源变址寄存器
DI
目的变址寄存器
变址寄存器
20
数据寄存器举例
例如: 在指令中指明使用 ADD AX,BX MOV BL,AL 例如: 在指令中特定使用CL SHL AX,CL; 逻辑左移(CL)位 例如: 在指令中隐含使用AL MUL BL;无符号乘法;(AX)=(AL)×(BL)
掌握
24
3.1.2.3 专用寄存器
8086/8088/80286: 16位寄存器 指令指针寄存器IP 标志寄存器F 80386及其后继机型(了解) 32位寄存器
指令指针寄存器EIP
标志寄存器EFLAGES
25
3 .专用寄存器—IP或EIP
IP

(Instruction Pointer)指令指针寄存器IP
微型计算机原理及应用
主编:李继灿 清华大学出版社
第三章 微处理器及其系统
内容提要
3.1 8086/8088微处理器 3.2 最小/最大工作方式
3.3 存储器 3.4 指令系统
3.5 微处理器
2
引言
运算器(ALU)
微处理器(MP) 控制器(控制单元CU) 寄存器阵列(RA) RAM, ROM, EPROM
15
0 SP BP 堆栈指针寄存器 基址寄存器 指针寄存器
19
1. 通用寄存器
② 指针及变址寄存器( 16位,存放偏移地址) 变址寄存器(I组):
源变址寄存器SI和目的变址寄存器DI 。 存放当前数据段的偏移地址。
SI(Source Index):源操作数的偏移地址。
BP(Destination Index):目的操作数的偏移地址。
15 11 10 9
IF
FL
8 7 6 4
AF
2
PF
0
CF
OF DF
TF SF ZF
溢出标志
方向标志 中断允许标志 跟踪标志 符号标志 进位标志 奇偶标志
辅助进位标志 零标志
28
掌握
3 .标志寄存器
例 某CPU内含 8位运算器,则: 参加运算的数及结果均以 8位 表示,
最高位产生的进位或借位在8位运算器中不保存, 而将其保存到标志寄存器中。
23
2. 段寄存器
8086/8088 CPU有20条地址线,具有寻址1MB存储空间。 8086/8088指令中给出的地址码仅有16位,指针寄存器 和变址寄存器也只有16位,不能直接寻址1MB的内存空 间。 用8086/8088CPU内部一组16位的段寄存器内容作为段 地址,再由段寄存器左移4位形成20位的段起始地址,被 称为段基地址或段基址。这样,8086/8088可寻址1MB 存储空间。 将1MB存储空间分成为若干个逻辑段,使每个逻辑段的 长度为64KB。
16位标志寄存器F
CPU运算的状态特征或存放控制标志
数据暂存寄存器
协助ALU完成运算
通用寄存器组:
4个16位数据寄存器,4个16位指针与变址寄存器
EU控制电路
控制、定时与状态逻辑电路
15
3.1.1 8068/8088CPU内部结构
8088CPU内部结构
BIU指令队列长度为4个字节 BIU通过总线控制电路与外部交换数据的总线宽度
DB(16位)
总线控制 电 路
8086总线 DB(16位)
暂存寄存器 EU 控制电路 (8位) 指令队列缓冲器 1 2 3 4 5 6
ALU
标志寄存器
执行单元(EU)
总线接口单元(BIU)
8
3.1.1 8068/8088CPU内部结构
总线接口单元(Bus
interface Unit,BIU):
10
3.1.1 8068/8088CPU内部结构
1.指令队列缓冲器:
用于存放预取的指令。 8086的指令队列为6个字节,而8088的指令队列为4 个字节。 在执行指令的同时,从内存中取下面1条或几条指令, 取来的指令依次放在指令队列中。
采用“先进先出”的原则:
11
1.指令队列缓冲器:
“先进先出”的原则:按顺序存放,并按顺序取到EU中 去执行。
理解“段加偏移”寻址机制。
掌握寻址方式。
掌握6大指令系统的基本用法。
4
3.1 8086/8088微处理器
Intel系列的CPU一直占着主导地位。 Intel8086/8088、Z8000和MC68000为代表的16 位微处理器是第3代产品,其性能已达到中、高 档小型计算机的水平。 8086/8088后续的80286、80386、80486。以及 Pentium系列CPU结构与功能已经发生了很大变 化,但从基本结构以及指令格式上来讲,仍然 是经典8086/8088CPU的延续与提升。

记录运算时从最高有效位(字节第7位,字第15位)产生 的进/借位值
CF=
0 1
NC CY
没有产生进/借位 有进/借位产生 BL
例如:执行指令:ADD AL,
3AH + 7CH=B6H,没有进位:CF = 0
AAH + 7CH=(1)26H,有进位:CF = 1
掌握
30
3 .标志寄存器
奇偶性标志PF(Parity Flag)
微型计算机 (MC)
内存储器
EEPROM, Cash等
地址总线(AD)
输入输出(I/O)接口电路 系统总线 数据总线(DB) 控制总线(CB)
微型计算机的组成
3
学习要求
透彻理解和掌握8086/8088内部组成结构、寄存器结 构与总线周期等。 深入理解储存器的分段设计。 正确理解与熟练掌握物理地址和逻辑地址关系。 理解堆栈及其操作。
DL
DX 数据寄存器
18
掌握
1. 通用寄存器
② 指针及变址寄存器( 16位,存放偏移地址) 指针寄存器(P组):
堆栈指针寄存器SP和基址指针寄存器BP。 当前堆栈段中的数据所在的地址。
SP(Stack Pointer):给出栈顶的偏移地址 (入栈和出栈指令时)。 BP(Base Pointer):存放位于堆栈段中的数 据区基地址的偏移地址。
6
3.1.1 8068/8088CPU内部结构
从功能上讲,可分为两个独立的部分,并行重叠操作;
数 据 寄存器 指针和变址 寄存器
通用寄存器 AH AL BH BL CH CL DH DL SP BP SI DI AB(20位) AX BX CX DX
地址 加法器

ALU 数据总线(16位)
CS DS SS ES IP 内部寄存器 数据总线(16位)
15 11 10 9 IF 8 7 6 4 AF 2 PF 0 CF OF DF TF SF ZF
负责完成CPU与存储器或I/O设备之间的数据传送。
BIU从内存取指令送到指令队列缓冲器;
CPU执行指令时,BIU配合EU从指定的内存单元或
I/O端口存取数据
执行单元(Execution
unit,EU):
负责执行指令,即 执行的指令从BIU的指令队列缓冲器中取得; 执行指令的结果或所需要的数据,由EU向BIU发 出请求; 再由BIU对存储器或I/O端口进行存取。
10110101 + 10001111 进位 1 1 1 1 1 1 1 01000100 被加数8位 加数8位 和8位 被加数 运 运 算 算 器 器
PSW 标志 进位 标志寄存器 寄存器
加数 和
掌握
29
3 .标志寄存器
进位标志CF(Carry Flag)
15 11 10 9 IF 8 7 6 4 AF 2 PF 0 CF OF DF TF SF ZF
CX 计数寄存器
DX 数据寄存器 堆栈指针寄存器 基址寄存器 源变址寄存器 目的变址寄存器 0 指令指针寄存器 状态标志寄存器 0 代码段寄存器 数据段寄存器 堆栈段寄存器
指针寄存器 变址寄存器
通用寄存器
15
IP
15
FLAGS CS DS SS
控制寄存器
段寄存器
17
掌握
ES
附加数据段寄存器
1. 通用寄存器
0
偏移地址 0
段寄存器
相关主题