当前位置:文档之家› 微机原理及应用

微机原理及应用


PF
=1;否则,PF=0。
辅助进位标志:如果运算结果低4位产生了进位,则AF
AF
=1;否则,AF=0。
15 12
11 10 9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CF
ZF
零标志:如果运算结果为0,则ZF=1;否则,ZF=0

SF
符号标志:如果运算结果为正数,则SF=0;否则,
第四章 8086CPU
4.1 简介 8086是Intel系列的16位微处理器,采用HMOS工艺制造,有16根数据线和20根地址线 8086工作时,使用单一的+5V电源,时钟频率为5MHz Intel公司还推出了一款准16位的CPU—8088 8088的数据总线是8位的 8086的数据总线是16位的
为了便于CPU访问,要对存 储器中的每一个存储单元编 号,这个编号称为存储单元 的地址
当CPU要访问IC存储器的 某存储单元时,首先要向存 储器发送该存储单元的地址。 在IC存储器中有一个电路, 能够根据地址信息找到对应的 存储单元,此电路称为译码器。
存储器分类 ROM(Read Only Memory):只读存储器
DI
①保存16位数据
(目的变址寄存器) ②保存数据段内存储单元的偏移地址。
串操作指令中,隐含与ES配合, 确定目标串在内存中的位置。
3、段寄存器
CS(Code Segment),称为代码段寄存器,存放当前执行的程序所在段的起始地址。其 值乘以16再加上IP的值,就形成了下一条要取出指令所在的内存单元的物理地址。
1、数据寄存器AX、BX、CX、DX
• 数据寄存器主要用来存放操作数或中间结果,以减少访问存储器的次数。有: – 4个16位的寄存器:AX、BX、CX、DX; – 8个8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL; – 这些寄存器均可独立使用。
• 多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运 算。在有些指令中,它们则有特定的用途。
1.2
逻辑电路---非(NOT)
与(AND)
与非(ANDNOT)
或 (OR)
或非 (OR NOT)
异或 XOR
习题:算出下列逻辑运算的结果 (1)30H AND 45H (2)ABH OR 56H (3)55H XOR AAH (4)55H AND AAH (5)20H XOR FFH (6)NOT 12H (7)45H OR 20H (8)56H AND F0H
微机原理及应用 32学时
第一章 概述
计算机
数据
计算机通过数据联系应用
应用
存储数据的介质:U盘,硬盘,光盘,内存条,ROM 最小的数据存储单位是位(bit) 一个位只有0,1两个状态之一,只能表示两个数 可用一个方框表示一个位(1bit): 在□中填1表示它存储的是状态1: 在□中填0表示它存储的是状态0:
15 12
11 10 9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CF
15 12
11 10 9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CF
进位标志:指令执行后,如果运算结果在最高位上产生
CF
了一个进位或借位,则CF=1;否则,CF=0。
奇偶标志:如果运算结果低八位1的个数为偶数,则PF
ES(Extra Segment),称为附加段寄存器,存放当前附加段的起始地址。附加段是附加 的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目标操作数的存放区 域。
4、16位指令指针寄存器IP
• 指令指针寄存器IP(Instruction Pointer)存放当前代码段中的偏移地址,它与CS联用,可以形 成下一条要取出指令的物理地址。
SF=1。
OF
溢出标志:如果运算过程产生了溢出,则OF=1;否
则,OF=0。
15 12
11 10 9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CF
单步标志:
TF
TF=1,处理器按单步执行指令;
TF=0,处理器正常工作。
中断允许标志:
IF
IF=1,允许可屏蔽中断;
IF=0,不允许可屏蔽中断。
• 程序不能直接对IP进行存取,但能在程序运行中被自动修改。 – 例如,控制器取到要执行的指令后,会立刻修改IP值,使之指向下一条指令的首地址; – 转移、调用、返回等指令执行,就是通过修改IP的值来控制指令序列的执行流程的。
5、标志寄存器FR
• FR是一个16位的寄存器。状态标志位有6个,记录程序中运行结果的状态信息,是根据 指令的运行结果由CPU自动设置的。这些状态信息通常作为后续转移指令的转移控制条 件,所以也称为条件码。 – 控制标志位有3个,可以编程设置,用于控制处理器执行指令的方式。控制标志设 置之后,可对后面的操作产生控制作用。
•例:带清除功能的8D寄存器, •MR(Memory Reset) =0 → Q=0 •上升沿触发, MR=1, CLK =↑→ Q=D (CLK)
(MR)
典型用法:MR接Vcc,利用CLK的上跳沿暂存D0~D7。属于缓冲寄存器。
2.4 三态门
三态门是一个开关, 当使能端1有效时,2与3接通; 当使能端1无效时,2与3断开, 这时2与3之间为高阻。 如果2端连接总线,3端连接器件,则使 能端1可决定器件与总线的通断。
方向标志(用于串操作指令):
DF
DF=1,存储器地址会自动减值;
DF=0,存储器地址会自动增值。
4.3 8086的工作模式及引脚特性
MN/MX
1 8086的工作模式 8086的工作模式由硬件设计决定:
引脚连电源(+5V), 则8086处在最小模式(单处理器模式); 引脚接地,则8086处在最大模式。
单个位相加
字节相加
A +B
S CY
1
0
1
1
1
0
0
1
1
1
0
0
10100111 01000001 11101000 0
注意:A,B,S的位数相同,最后的进位被保存于CY 减法:减去一个数等于加上该数的补数。 二进制数的补数=把该数各个位全部取反+1
习题:完成下列运算,求出S和CY (1)20H+85H(2)ABH+56H(3)55H+AAH(4)FEH+CDH (5)20H-85H (6)ABH-56H (7)55H-AAH(8)FEH-CDH
寄存器用于暂存数据,根据数据的存储类型,分为: 位寄存器:用于存储位类型的数据,需要一个D触发器 字节寄存器:用于存储字节类型的数据,需要8个D触发器 字寄存器:用于存储字类型数据,需要16个D触发器
还可以根据功能的不同,对寄存器进行分类:
缓冲寄存器:用于暂存数据 移位寄存器:可对所存储的数据进行左移/右移操作 计数器:可对所存储的数据进行加1/减一操作 累加器:通常指CPU中最常用的寄存器 程序计数器:作用是保存程序代码的地址
4.2 intel8086结构 8086由执行部件EU 和总线接口部件BIU组成。 EU负责执行指令 BIU负责总线操作
BIU组成:
4个16位段寄存器 (DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。
EU组成:
ALU; 4个16位通用寄存器
MN/MX
• 数据总线为16位 • 地址总线为20位 • 40条引脚 • 部分引脚分时复用
GND 1
40
AD14
2
39
AD13
3
38
AD12
4
37
AD11
5
36Βιβλιοθήκη AD10635AD9 7
34
AD8 AD7 AD6 AD5
8 Intel 33
9
32
10 8086 31
11
30
AD4 12
29
AD3 13
SP,BP,SI,DI
寄存器
SP (堆栈指针)
一般用法
隐含用法
保存堆栈栈顶偏移地址,与SS配合来确定堆 栈在内存中的位置。
压栈、出栈操作中隐含指示栈顶
BP (基址指针)
①保存16位数据 ②保存堆栈段内存储单元的偏移地址。
SI
①保存16位数据
(源变址寄存器) ②保存数据段内存储单元的偏移地址。
串操作指令中,隐含与DS配合, 确定源串在内存中的位置。
(AX、BX、CX、DX); 4个16位专用寄存器
(SI、DI、SP、BP); 标志寄存器FR; 控制电路。
8086的寄存器结构
• 寄存器是CPU内部用来存放地址、数据和状态标志的部件。 • 8086有14个16位寄存器和8个8位寄存器。 • 按用途可以分为以下几类:
– 数据寄存器; – 指针和变址寄存器; – 段寄存器; – 指令指针寄存器; – 标志寄存器。
DS(Data Segment),称为数据段寄存器,存放当前数据段的起始地址。其值乘以16再 加上指令中存储器寻址方式指定的偏移地址,就形成了要进行读/写的数据段中指定内 存单元的物理地址。
SS(Stack Segment),称为堆栈段寄存器,存放当前堆栈段的起始地址。堆栈是按照 “后进先出”原则组织的一个特殊内存区域。堆栈操作数的地址由SS的值乘以16再加 上SP的值形成。
相关主题