微型计算机概述(4)

2019-04-21 17:09

行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序CS和IP同时改变时,会产生段间的程序转移。

一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发

标志寄存器的内容被称为处理器状态字PSW,用来存放8086/8088CPU在工作过程⑤段寄存器

系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈制程序区,DS和ES控制数据区,SS控制堆栈区。 (6) 处理器状态字PSW

8086/8088内部标志寄存器的内容,又称为处理器状态字PSW。其中共有9 个标志位,可分成两类:一类为状态标志,一类为控制标志。其中状态标志表 示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据 这些状态标志进行判断,实现转移;控制标志则可以通过指令人为设置,用以

寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地

对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作 方式的可控制性。

图1-8 标志寄存器

PSW中各标志位的安排如图1-8所示(P12),这些标志位的含义如下: ①状态标志:6个

? CF—进位标志位,做加法时最高位出现进位或做减法时最高位出现借位,该

? PF—奇偶标志位,当运算结果的低8位中l的个数为偶数时,则该位置1,反

? AF—半进位标志位,做字节加法时,当低四位有向高四位的进位,或在做减

位的借位时,该标志位就置1。通常用于对BCD算术运算结果的调整。(例:1101 0110其中AF=1,CF=1)

? ZF—零标志位,运算结果为0时,该标志位置1,否则清0。

? SF—符号标志位,当运算结果的最高位为1,该标志位置1,否则清0。即与运

? OF—溢出标志位,OF溢出的判断方法如下: 加法运算:

若两个加数的最高位为0,而和的最高位为1,则产生上溢出; 若两个加数的最高位为1,而和的最高位为0,则产生下溢出; 两个加数的最高位不相同时,不可能产生溢出。 减法运算:

若被减数的最高位为0,减数的最高位为1,而差的最高位为1,则产生上溢出; 若被减数的最高位为1,减数的最高位为0,而差的最高位为0,则产生下溢出; 被减数及减数的最高位相同时,不可能产生溢出。

如果所进行的运算是带符号数的运算,则溢出标志恰好能够反映运算结果是否该位置1,反之为0。 举例:

0101 0100 1001

0100 0101 1001

0011 0110 1010

1001 1010 0011

符号数所能表达的范围,即字节运算大于十127或小于-128时,字运算大于十32

CF=0、AF=1、PF=1、ZF=0、SF=1、OF=1(两正数相加结果为负)

一般来讲,不是每次运算后所有的标志都改变,只是在某些操作之后,才对其中某个标志进行

②控制标志:3个

? TF—陷阱标志位(单步标志位、跟踪标志)。当该位置1时,将使8086/8088常用于程序的调试。

? IF—中断允许标志位,若该位置1,则处理器可以响应可屏蔽中断,否则就不

? DF—方向标志位,若该位置1,则串操作指令的地址修改为自动减量方向,反

二、 存储器组织(P13)

1. 存储容量

8088/8086有20根地址总线,因此,它可以直接寻址的存储器单元数为 220=1Mbyte 2. 物理地址

8088/8086可直接寻址1Mbyte的存储空间,其地址区域为00000H— FFFFFH,与存储单元一一对应的20位地址,我们称之为存储单元的物理地址。 3. 存储器的分段及段地址

由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,系统中采用始地址的16位偏移 量。

规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供

这样,系统的整个存储空间可分为16个互不重叠的逻辑段,如图1-9所示。

存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以连续排列,非常灵活,如图1-10所示(P14)。

图1-9 存储空间段结构 图1-10 分段逻辑结构

4. 偏移地址

偏移地址是某存储单元相对其所在段起始位置的偏移字节数,或简称偏移量。它是据指令的不同,它可以来自于CPU中不同的16 位寄存器(IP、SP、BP、SI、DI、BX等)。 5. 物理地址的形成

物理地址是由段地址与偏移地址共同决定的,段地址来自于段寄存器(CS、

DS、ES、SS),是十六位地址,由段地址及偏移地址计算物理地址的表达式如下: 物理地址=段地址×16+偏移地址

例如:系统启动后,指令的物理地址由CS的内容与IP的内容共同决定, 由于系统启动的CS=0FFFFH,IP=0000H,所以初始指令的物理地址为0FFFF0H, 我们可以在0FFFF0H单元开始的几个单元中,固化一条无条件转移指令的代 码,即转移到系统初始化程序部分。

6. 存储器分段组织带来存储器管理的新特点

首先,在程序代码量、数据量不是太大的情况下,可使它们处于同一段内, 即使它们在64Kbyte的范围内,这样可以减少指令的长度,提高指令运行的速

度;

其次,内存分段为程序的浮动分配创造了条件;

第三,物理地址与形式地址并不是一一对应的,举例:6832H:1280H,物理地址为第四,各个分段之间可以重叠 7. 特殊的内存区域

8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:① 中断矢量区:00000H—003FFH共1K字节,用以存放256种中断类型的 中断矢量,每个中断矢量占用4个字节,共256×4=1024=1K

② 显示缓冲区:B0000H—B0F9FH约4000(25×80×2)字节,是单色显示器 的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B8000H —BBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏 幕显示象素的代码。

③ 启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令 的代码,转移到系统的初始化部分。

习题与思考:

1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调 工作的?

2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各 在什么情况下置位?

3.8086/8088系统中储存器的逻辑地址和物理地址之间有什么关系?表示的范围各为多


微型计算机概述(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:世界各国不同的住房消费信贷模式

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: