微机原理与应用4

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26
四个段基址寄存器
在8088/8086计算机中通常 用CS,DS,ES,SS,四个 段寄存器来表示所划分段 的段基址,分别称之为: 代码段,数据段,附加段,堆栈段
27
段的起始地址=段基址(由段寄存器决定)+0H
28
8088/8086存储单元地址的表示
采用:①段地址②偏移地址相结合
例如8088/8086的程序代码就是存放在内 存中的代码段中,它在取指令时,首先 由CS决定它的段起始地址,然后再根据
标 志
符号标志
溢出标志
19
二.总线接口部件BIU (BUS INTERFACE UNITE)
BIU的功能 BIU的结构
20
六字节的指令队列(8086为 210111166位666位位堆附数的代指栈加据地令6器码段段段字址指I段P寄寄寄节加针寄存存存/寄法8存0器器器存器8器8为4字节)
21
三. 8088与8086的区别
为逻辑地址。
30
例如:
某同学表示其位置的方法: ① 用学号法(26号) ② 用几排几号(3排2座) 则 ①为物理地址
②为逻辑地址
31
3.物理地址与逻辑地址的关系
物理地址=段基址*16+偏移地址
(即左偏移4位二进制)
15
0
逻辑地址 段基值
15
0
偏移量
3
0
0000
Σ
物理地址
19
0
物理地址
32
例:
则物理地址计算如下
1.8088/8086系统存储按字节编址
2. 8088/8086具有20根地址线1M可 寻址空间
问题:
8088/8086内部寄存器是16位的,如 何用16位寄存器表示20位的地址?
23
复习:
标志1寄.8存0器8的8格/式8及08各6位C的P含U义结构
2.8088/8086内部寄存器 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
例如:
STATE: IN AL, 0DAH;

TEST AL,02H;

JZ STATE
7
●零标志ZF(Zero Flag)
若运算结果为0,则ZF=1; 否则ZF=0。
例1:MOV AL,4

SUB AL,4
这两条指令执行后,ZF=1。
例2:XOR AX,AX

执行后,ZF也一定为1。
8
从计算结果也可以看出,两个正数相加,结果得一负
数,(B0H=-80)则结果肯定溢出了(不正确)超出一
个字节表示的范围 OF=1
如何知道? 15
2.控制计算机CPU的标志
方向标志DF(DIRECTION FLAG)
在作字符串操作时,每执行一条操作 指令,源,目的地址会自动调整 当DF设为=0时 串操作过程地址会不断增加 当DF设为=1时 串操作过程地址会不断减少
式,常用于程序的调试。
18
回忆标志寄存器FR(PSW)
标志寄存器的格式及各位的含义
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
AF
PF
CF
方向标志
控 制
中断标志
标 跟踪标志 志
Trace Flag
进位标志
奇偶标志

半进位标志 态
零标志
16
2.控制计算机CPU的标志
中断允许标志IF (INTERRUPT ENABLE )FLAG 表示系统是否允许响应外部的可屏蔽中断, IF=1表示允许响应,IF=0表示不允许
17
2.控制计算机CPU的标志
跟踪标志TF(陷阱标志)TRAP FALG
当TF设为1时,微处理每执行完 一条指令便会自动产生一个内部 中断,转去执行一个内部中断服 务子程序,用来检查每条指令的 执行情况,称为“单步执行”方
执行:ADD AL, AH
1 00000001
CF=1
9
●奇偶标志PF(Parity Flag)
若运算结果低8位中“1”的个数为偶 数,则PF=1;否则PF=0。
例:MOV AL,2 ADD AL,1 ; 00000011 执行后,PF位为1
10
辅助进位AF(AUXILIARY CARRY FLAG)
OF DF IF TF SF ZF
AF
PF
CF
方向标志
控 制
中断标志
标 跟踪标志 志
Trace Flag
进位标志
奇偶标志

半进位标志 态
零标志
标 志
符号标志
溢出标志
6
1. 状态标志:
状态标志:表示前面的操作执行后,算术逻辑部 件处于怎样一种状态。例如,是否产生了进位, 是否发生了溢出等等。程序中,可以通过对某个 状态标志的测试,决定后面的走向及操作。
42320 H +) 6 6 H
42386 H
段地址 42320H
66H 64K
42386H
段终址 5231FH
...
...
64K (216 )
33
例2. 假设 (DS)=2234H ,EA=22H
2234 0
+)
002 2
2236 2
15
0
2234
段基址
15
0
0022
偏移量
逻辑地址
物理地址
SI,DI用于在一般内存数据区中 作为变址指向某个单元
3
一.执行部件EU 1.EU的功能 2. EU的结构
4
1.四个通用寄存器 AX,BX,CX,DX (16位 )
2.四个专用寄存器
SP,BP,SI,DI 3.标志寄存器FR
5
3.标志寄存器FR(PSW)
标志寄存器的格式及各位的含义
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
14
溢出标志OF(overflow flag)
例: 01011010 +) 01010110 10110000
(5AH=90) (56H=86) (B0H=176)
把该两数作无符号数看,则两数相加正好无进位 CF=0
若把该两数当作带符号数,则两数相加,无法再用8位二进 制带符号数表示(-128——127),则肯定要溢出
OF DF IF TF SF ZF
AF
PF
CF
方向3标.志标志寄存器
控 制
中断标志
标 跟踪标志

Trace Flag
进位标志
奇偶标志

半进位标志 态
零标志
标 志
符号标志
溢出标志
24
1.存储器的分段
但8086的内部寄存器是16位(地址的宽度大于字长)。显然,不能用 16位的寄存器来实现对220=1M字节单元的寻址。为此,引入了存储器 “分段”的概念,即把1M字节内存空间分成若干段。每段最大可达 64K字节--可由16位寄存器进行寻址。
反映8位量的低四位(或16位量的低位字
节)向高位有无进位(借位)情况,有则
AF=1,无则AF==0。AF位一般用于BCD运

例: 1001 1001
或 10010001 00011011
+) 0010 1010 1100 0011
有进位AF=1
Байду номын сангаас
+) 01100010 00100001
11110011 00111100
第四章 微处理器
微处理器的发展:
计算机发展至今已经历了四代,第四 代是大规模集成电路发展后的产物, 由于微电子技术的发展,已使得结构 复杂,功能强大的计算机中央处理器 CPU集成在一个芯片上,构成了所谓
的微处理器MPU
1
§2.8086/8088CPU的结构
温习模型机CPU内部结构
2
一累般一加作及通般器数串用通,,处寄用算理存最寄指器术存重令,器运要中在,算,还L还,O最常常OI频用P/作O指作繁基指令计寄使令(数存用中循器器环操), 一般S通P用,寄B存P器用,于在作在双字内长存运算中时的(1堆6*1栈6位区,3中2/1指6位 中),DX与AX向结某合成个双字单长元数:作D为X高地16位址,AX低16位
35
插入等待周期情况:
T1 T2 T3 Tw T4 CLK READY
36
无进位AF=0
11
符号标志SF(SIGN FLAG)
反映带符号数运算结果的符号位情况, 当数据用补码表示时,运算结果最高位 为0 表示正数,最高位为1 表示负数
SF与运算结果的最高位相同,刚好可以 用来表示该数的正负
SF=1负数 SF=0正数
12
溢出标志OF(overflow flag)
8088本质上是相同的其内部采用16位结构 两者EU完全一样,BIU略有不同:
8086指令队列6字节,8088指令队列4字节
8086是真正的16位机,其CPU内数据总16位 同BIU相连的外部总线也是16位 8088是准16 位机,其CPU内数据总16位
同BIU相连的外部总线也是8位
22
四.存储器结构
34
四.8088/8086总线的工作周期
T1 T2 T3 Tw T4 TI
TI
T1 T2 T3
总线周期
空闲 周期
总线周期
空闲周期:只有BIU与内存或I/O端口交换数据,以及填充指令队列 时,BIU才执行总线周期。除此之外,既不需要填充指令队列,EU也 没有向BIU发出总线周期请求时,系统总线就处于空闲状态,进入空 闲周期,空闲周期由一个或几个Ti状态组成。
段的第一个字节地址成为“段的起始地址”,要访问的单元距段基址 的距离(字节数)为“偏移量”(Offset)。
段的起始地址
偏移量

要访问的单元


25
问题:如何表示段的起始地址?
每个段的 “起始地址”称为“段地 址”。对段的起始地址的要求是最 低4 位二进制必须为0 (*****0H ), 而其高16位称为段基址
主要用来反映带符号数运算是否超过机器 能表示的数值范围,超过OF=1
带符号数(补码表示负数) 00000000---01111111 (0 ------- +127) 10000000---111111111(-128—— -1)
即一个字节带符号数表示范围为-128——127 同样,二个字节带符号表示为-32768——32767
进位标志CF(Carry Flag):
它反映:
加法时,最高位(字节操作时的D7位,字操 作时的D15位)是否有进位产生。
减法时,最高位(字节操作时的D7位,字操 作时的D15位)是否有借位产生。
例:(AH)==10000001
10000001
(AL)==10000000 +)10000000
IP的值决定其偏移地址(代码段内)
即由CS+IP两个16位寄存器 决定了20位物理地址。
29
2.存储器中的逻辑地址和物理地址
1M存储空间中,任何一个单元地址 用20位二进制表示,就称为物理地址。 (也称绝对地址)。这在硬件相当于
用20根地址线来表示。
如果用段基址和偏移地址两部分 (16位)组合起来表示地址,则称
13
溢出标志OF(overflow flag)
例: 00011010 (1AH=26)
+) 01010110 (56H=86)
CF=0: 01110000 (70H=112)
这两个数如作为无符号数相加 ,则没有进位
(不超过255)
OF=0:
为什么?
如作为带符号数相加,也没有溢出 (26+86=112均没有超过)
相关文档
最新文档