微型计算机原理与应用课件-第2章_第1页
微型计算机原理与应用课件-第2章_第2页
微型计算机原理与应用课件-第2章_第3页
微型计算机原理与应用课件-第2章_第4页
微型计算机原理与应用课件-第2章_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《微机原理及其应用》第2章微处理器及系统结构

内容简介:8086/8088微处理器系统特性及结构;

内部寄存器的结构特点,8086/8088微机系统的存储

器组织。

目录

2.1微型计算机的基本结构

2.28086/8088CPU主要特性及内部结构

2.38086/8088CPU工作模式和弓I脚功能

2.48086/8088的存储器组织

2.58086/8088的总线操作禾口时序

第1章微机基础知识

2.1微型计算机系统

1.微型计算机的基本组成

一个典型的微型计算机系统可以分成硬件系统和软件系统两大部分。

r控制器

rCPU,运算器

、I〔寄存器

‘主:机|r只读存储器(ROM)

〔内存储器<随机存储器(RAM)

(硬件系统jL高速缓冲存储器(Cache)

C输入设备(键盘、鼠标、光笔、扫描仪)

I外部设备<输出设备(显示器、打印机、绘图

〔我他设备(网卡、调制解调器、声卡、显卡、视频卡)

微型计算机系统C操作系统(DOS、WindowssUNIX等)

语言处理程序(编译系统、解释系统等)

r系统软件《数据库管理系统(VF、Oracle.Access等)

网络软件(等)

【软件系统W1其他(编辑程序、诊断程序、连接装配程序等)

(Office套件(Word、Excel、PowerPint>FontPage等)

l应用软件\工具软件(解压缩软件、杀毒软件等)

〔用户程序()

第1章微机基础知识

1.微机的硬件系统

计算机由运算器、控制器、存储器、输入设备和输出设备等五大部分

组成。通常把运算器和控制器称为中央处理器CPU,把CPU和存储器合称为

计算机的主机。而把输入设备和输出设备以及外存储器合称为外部设备,

简称外设。微型计算机由微处理器、存储器、输入输出(I/O)接口电路及

系统总线组成的,系统总线(三总线)即数据总线、地址总线和控制总线,

如图所不。

地址总线AB

理控制总线CB

器数据总线DB

CPU

0

图1-1微型计算机的基本结构外设

1)CPU

CPU是一个复杂的电子逻辑元件,它包含了早期计算机中的运

算器、控制器及其他功能,能进行算术、逻辑运算及控制操作。

2)内存

所谓内存就是指微型计算机内部的存储器。由书中图2.1可以

看到,内存是直接连接在系统总线上的。因此,内存的存取速度

比较快。由于内存价格较高,一般其容量较小。这与作为外设(外

部设备)的外部存储器刚好相反,后者容量大而速度慢。

内存用来存放微型计算机要执行的程序及数据。

在微型计算机的工作过程中,CPU从内存中取出程序执行或

取出数据进行加工处理。这种由内存取出的过程称为读出内存,

而将数据或程序存放于内存的过程则称为写入内存。

内存包含有很多存储单元(每个内存单元包含8bit),为区分

不同的内存单元,对计算机中的每个内存单元进行编号,内存单

元的编号就称为内存单元的地址。

•读:将内存单元的内容取入CPU,原单元内容不改变;

•写:CPU将信息放入内存单元,单元中原内容被覆盖;

•内存的读写的步骤为:地址内存

•CPU把要读写的内存单元

的地址放到AB上

00001H11000111

•若是写操作,CPU紧接着

把要写入的数据放到DB上00002H00001100

•CPU发出读写命令

•数据被写入指定的单元或

从指定的单元读出到DB

F0000H00111110

•若是读操作,CPU紧接着

从DB上取回数据

FFFFFH

3)系统总线

系统总线包括地址总线、数据总线和控制总线。这些总线

提供了微处理器(CPU)与存储器、输入/输出接口部件的连接线。可

以认为,一台微型计算机就是以CPU为核心,其他部件全都“挂

接”在与CPU相连接的系统总线。微型计算机与外设的连接线称为

外总线,也称为通信总线。它的功能就是实现计算机与计算机或

计算机与其他外设的信息传送。

微型计算机工作时,通过系统总线将指令读到CPU;CPU的数

据通过系统总线写入内存单元;CPU将要输出的数据经系统总线写

到接口,再由接口通过外总线传送到外设;当外设有数据时,经

由外总线传送到接口,再由CPU通过内总线读接口读至IJCPU中。

•地址总线AB:用来传送CPU输出的地址信号,确定被访问的存

储单元、I/O端口。地址线的根数决定了CPU的寻址范围。

CPU的寻址范围二2n,n-地址线根数

•数据总线DB:在CPU与存储器、I/O接口之间数据传送的公共

通路。数据总线的条数决定CPU一次最多可以传送的数据宽度。

•控制总线CB:用来传送各种控制信号”

第1章微机基础知识

2.微型计算机软件系统

软件系统是指为计算机运行工作服务的全部技术资料和各种程序,它

可以保证计算机硬件的功能得以充分发挥。微机的软件系统是由系统软件、

应用软件组成。

・系统软件通常包括:操作系统、语言处理程序、诊断调试程序、设

备驱动程序以及为提高机器效率而设计的各种程序。在系统软件中,最重

要的软件当属操作系统,即OS(OperatingSystem),所有的应用程序,

包括系统软件中的一些程序,都要在操作系统构筑的平台上运行。

・应用软件是为了解决各类应用问题而编写的程序。它直接面向用户,

为用户服务。应用软件也可以逐步标准化、模块化、逐步形成了解决各种

典型问题的应用程序的组合,称为软件包。

第2章微处理器及系统结构

2.2Intel8086/8088CPU主要特性及内部结构

2.1.18086/8088CPU主要特性

Intel8086是16位微处理器,采用HM0S工艺40条引脚封装,使用5V

电源,时钟频率5MHzo主要特性如下:

(1)8086CPU数据总线为16位,8088CPU数据总线为8位。

(2)地址总线都是20位,低16位与数据总线分时复用,可直接寻址1MB

的存储空间。

(3)有16位的端口地址,可以寻址64KB的I/O端口。

(4)有99条基本指令,指令功能强大。

(5)有8种基本寻址方式。

(6)可处理内部和外部中断,外部中断源多达256个。

(7)兼容性好,与80X86、8085在源程序一级兼容。

(8)8086可与和协处理器(8087、8089)组成多处理器系统。

第2章微处理器及系统结构

8086CPU由两部分即指令执行单元EU和总线接口单元BIU组成。

指令执行单元由算术逻辑运算单元ALU、标志寄存器FLAGS、通

用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。

总线接口部件BIU由地址加法器、专用寄存器组、指令队列和

总线控制逻辑等4个部件组成,其主要功能是形成访问存储器的物

理地址、访问存储器取得指令并暂存到指令队列中等待执行,访问

存储器或I/O端口以及读取操作数参与EU运算或存放运算结果等。

BIU不断地从存储器取指令送入IPQ(指令预取队列),EU不断地

从IPQ取出指令执行

EU和BIU构成了一个简单的2工位流水线

指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水

线的传送带)

令预取队列的存在使EU和BIU两个部分可同时进行工作,带来了以

下两个好处:

•提高了CPU的效率

•降低了对存储器存取速度的要求

•采用并行流水线工作方式

•对内存空间实行分段管理:

>每段大小为16B〜64KB

>用段地址和段内偏移实现对1MB空间的寻址

>设置地址段寄存器指示段的首地址

8088与8086的区别:

1)8088BIU中指令队列长度只有4B,8086BIU指令队列长度有6B。

2)8088BIU通过总线控制电路与外部交换数据的总线宽度是8位,

总线控制电路与专用寄存器组之间的数据总线宽度也是8位,

而EU内部总线仍是16位,所以把8088称为准16位微处理器。

•支持多处理器系统

•片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用

软件模拟)

•8086(8088)微处理器不仅将微处理器的内部寄存器扩充至16位,

从而使寻址能力和算术逻辑运算能力有了进一步提高,而且由于

采取了上述一些措施,使得微处理器的综合性能与8位微处理器相

比有了明显的提高。

第2章微处理器及系统结构

2.2.18086/8088CPU引脚功能

GND_____40Vcc(+5V)

AD.4ADI5

AD.3——A[6/S?

AD____A/s

1.8086/8088CPU的主要引脚及功能12174

AD”

_Aj9/S6

8086

AD„BHE/S7

ADCPUMN/MX

8086/8088CPU是十六位的微处理S

AD7RD

AD

6HOLD(RQ0/GT0)

器,它向外的信号至少应包含16条数据AD5HLDA(RQ,/GT^

AD4WR(LOCK)

线,20条地址线,再加上其他一些必要AD,M/iocsZ)

AD,DT/R"(S?)

AD)

DEN(So)

的控制信号。为了减少芯片引脚数量,ADAIE(OS„)

0

NM1INTA(QSj)

INTRTEST

对部分引脚采用了分时复用的方式,构CLKREADY

成40条引脚的双列直插式封装。GND_____2021_____RESET

a)

8086CPU封装外形与内部各功能部图2-38086CPU封装外形与实物图

件之间的相互连接如图2-3a)所示。a)封装外形

引脚定义的方法可大致分为:—

•每个引脚只传送一种信息(RD箜);

•引脚电平的高低不同的信号(m/M等);

•CPU工作于不同方式有不同的名称和定义(WR/LOCK等);

•分时复用引脚(AD7〜AD。等);

•引脚的输入和输出分别传送不同的信息(RQ/GT等)。

8088分为两种工作模式声MN/前端状态决定:

8086CPU上有MN/位输入引线,用以决定8086CPU工作在哪种工

作模式之下。当MN/MX=1时,8086CPU工作在最小模式之下。止匕时,

构成的微型机中只包括一个8086CPU,且系统总线由CPU的引线形

成,微型机所用的芯片少。当MN/MX=0时,8086CPU工作在最大模

箕之下。

在此模式下,构成的微型计算机中除了有8086CPU之外,还可

以接另外的CPU(如8087、8089等),构成多微处理器系统。

1.最小模式下的引线

在最小模式下,8086CPU的引线如图2.2所示(不包括括号内

的信号)。现对各引脚介绍如下:

Aw〜A19/S3〜$6:这是4条时间复用、二态输出的引线。在8

086CPU执行指令过程中,某一时刻从这4条线上送出地址的最高

4位A16〜A19。而在另外时刻,这4条线送出状态S3〜S6。这些状

态信息里,S6始终为低,S5指示状态寄存器中的中断允许标志的

状态,它在每个时钟周期开始时被更新,S,和S3用来指示CPU现

在正在使用的段寄存器.

S4、S3的状态编码

所代表的段寄存器

S4S3

00数据段寄存器

01堆栈段寄存器

10代码段寄存器或不使用

11附加段寄存器

在CPU进行输入/输出操作时,不使用这4位地址,故在送出接口地

址的时间里,这4条线的输出均为低电平。

在一些特殊情况下(如复位或DMA操作时),这4条线还可以

々卜干高阳(或浮空成二太)犹太

AD。〜加5:〜后是赢、£靠时分复用的输入/输出信号线,

其信号是经三态门输出的。由于8086微处理器只有40条引脚,而

它的数据线为16位,地址线为20位,因此引线数不能满足信号输

入/输出的要求。则要选择分时复用。

M/fO:它是CPU的三态输出控制信号,用来区分当前操作是

访问存储器还是访问I/O端口。若该引脚输出为低电平,则访问的

是I/O端口;若该引脚输出为高电平,则访问的是存储器。

WR:它是CPU的三态输出控制信号。该引脚输出为低电平时,

表示CPU正处于写存储器或写I/O端口的状态。

DT/R:该引脚是CPU的三态输出控制信号,用于确定数据

传送的方向。高电平为发送方向,即CPU写数据到内存或接口;低

电平为接收方向,即CPU到内存或接口读数据。该信号通常用于,数

据总线驱动器8286/8287(74245)的方向控制.

•DEN:这是CPU经三态门输出的控制信号。该信号有效时,表示数据

总线上有有效的数据。它在每次访问内存或接口以及在中断响应

期间有效。它常用做数据总线驱动器的片选信号。

•ALE:三态输出控制信号,高电平有效。当它有效时,表明CPU经

其引线送出有效的地址信号。因此,它常作为锁存控制信号将

Ao〜A19锁存于地址锁存器的输出端。

•RD:它是读选通三态输出信号,低电平有效。当其有效时,表示

CPU正在进行存储器或I/O读操作。

•READY:它是准备就绪输入信号,高电平有效。当CPU对存储器或I

/0进行操作时,在T3周期开始采样READY信号。若为高电平,表示

存储器或I/O设备已准备好;若其为低电平,表明被访问的存储

器或I/O设备还未准备好数据,则应在T3周期以后,插入TWAIT周

期(等待周期),然后在TWAIT周期中再次采样READY信号,直至REA

DY变为有效(高电平),TWAIT周期才可以结束,进入T4周期,完成

数据传送。

•INTR:它是可屏蔽中断请求输入信号,高电平有效。CPU在每条指

令执行的最后一个T状态采样该信号,以决定是否进入中断响应周

期。这条引脚上的请求信号,可以用软件复位内部状态寄存器中

的中断允许位(IF)加以屏蔽。

•TEST:它是可用WAIT指令对该引脚进行测试的输入信号,低电平

有效。当该信号有效时,CPU继续执行程序;否则CPU就进入等待

状态(空转)。这个信号在每个时钟周期的上升沿由内部电路进%

同步。A

NMI:它是屏蔽中断输入信号,边沿触发,正跳变有效。这条引

脚上的信号不能用软件复位内部状态寄存器中的中断允许位(IF)予以

屏蔽,所以由低到高的变化将使CPU在现行指令执行结束后就引起中断。

RESET:它是CPU的复位输入信号,高电平有效。为使CPU完成内部

复位过程,该信号至少要在4个时钟周期内保持有效。复位后CPU内部

寄存器的状态如表2.2所示,各输出引脚的状态如表2.3所示。表2.3中

从丽【(S0)至IJ而1各引脚均处于浮动状态。当RESET返回低电平时,

CPU将重新启动。

表2.2复位后的内部寄存器状态

内部寄存器内容内部寄存器内容

状态寄存器清除SS寄存器0000H

IP0000HES寄存器0000H

CS留?器FFFFH指令队列寄存器清除

DS寄存器0000H

表2.3复位后各引脚的状态

引脚名状态引脚名状态

AD。〜AD7浮动RD输出高电平后浮动

AD&~ADi5浮动INTA输出高电平后浮动

A16/S3〜A1966浮动ALE低电平

高电平HLDA低电平

BHE/S7

DEN(So)输出高电平后浮动RQ/OT^高电平

DT/R(S,)输出高电平后浮动RQ/GT;高电平

输出高电平后浮动QSo低电平

M/IO(S2)

WR(LOCK)输出高电平后浮动QSi低电平

而丁:它是CPU输出的中断响应信号,是CPU对外部

输入的INTR中断请求信号的响应。在响应中断过程中,由

引出端送出两个负脉冲,可用做外部中断源的中断向量码的

读选通信号。

HOLD:它是高电平有效的输入信号,用于向CPU提出

保持请求。当某一部件要占用系统总线时,可通过这条输入

线向CPU提出请求。

HLDA:这是CPU对HOLD请求的响应信号,是高电

平有效的输出信号。当CPU收到有效的HOLD信号后,就

会对其做出响应:一方面使CPU的所有三态输出的地址信

号、数据信号和相应的控制信号变为高阻状态(浮动状态);

同时还输出一个有效的HLDA,表示处理器现在已放弃对

总线的控制。当CPU检测到HOLD信号变低后,就立即使

HLDA变低,同时恢复对总线的控制。

而『/S7:它是时间复用的三态输出信号。该信号有

效,用于读/写数据的高字节

(D8~Di5),用以保证8086可以一次读/写一个字节

(高字节或低字节)或者读/写一个字(16位)。

CLK:这是时钟信号输入端。由它提供CPU和总线控

制器的定时信号。8086CPU的标准时钟频率为5MHZo

VCC:它是+5V电源输入引脚。

GND:它是接地端。

2.最大模式下的引线

当MN/H加上低电平时,8086CPU工作在最大模式

之下。此时,除引线24到34这几条引线之外,其他引线与

最小模式完全相同。如图2.2所示,图中括号内的信号就

是最大模式下重新定义的信号。

;[,3。:这是最大模式下由8086CPU经三态门

输出的4态信号。这些状态信号加到Intel公司同时提供的

总线控制器(8288)上,可以产生系统总线所需要的各种控

制信号。的状态编码表示某时刻的状

s2,s:,so8086CPU

态,其编码如表2.4所示。

从表2.4可以看到,当8086CPU进行不同操作时,其

输出的S2~So的状态是不一样的。因此,可以简单地理

解为8288对这些状态进行译码,产生相应的控制信号。

在本章的后面可以看到,8288总线控制器利用

S2~S。为构成系统总线提供了足够的控制信号。

表2.4So〜§2的状态编码]

性能

s2So1

000中断响应1

读I/O端口[

001

写I/O端口|

1010

011暂停

取指]1

100

101读存储器1

110与存招&1

111无作用4

■二

RQ/GTo^RQ^GTi:它们是总线请求/允许引脚。每

一个引脚都具有双向功能,既是总线请求输入也是总线响

应输出。但是西/而°比血/Gfl具有更高的优先权°这

些引脚内部都有上拉电阻,所以在不使用时可以悬空n正

常使用时的工作顺序大致如下:

•由其他的总线控制设备(例如数字协处理器8087)

产生宽度为一个时钟周期的负向的总线请求脉冲,将它送

给RQ/GT引脚,相当于HOLD信号。

•CPU检测到这个请求后,在下一个T4或T1期间,

在同一个引脚输出宽度为一个时钟周期的负向脉冲给请求

总线的设备,作为总线响应信号,相当于HLDA信号。这样

从下一个时钟周期开始,CPU就释放总线,总线请求设备

便可以利用总线完成某种操作。

•总线请求设备在对总线操作结束后,再产生一个

宽度为一个时钟周期的负向脉冲,通过该引脚送给CPU,

它表示总线请求已结束。CPU检测到该结束信号后,从下

一个时钟周期开始又重新控制总线,继续执行刚才因其他

总线设备请求总线而暂时停止的操作。

*

后,:它是一个总线封锁信号,低电平有效。该信号

有效时,别的总线控制设备的总线请求信号将被封锁,不

能获得对系统总线的控制。嬴【信号由前缀指令

“LOCK”使其有效,直至下一条指令执行完毕。

QS1,QS0:它们是CPU输出的队列状态信号。根据

该状态信号输出,从外部可以跟踪CPU内部的指令队列。

QS1,QS0的编码如表2.5所示。队列状态在CLK周期期间

有效。

表2.5QSO,QS1的状态编码

性能

QSiQS0

00无操作

01队列中操作码的第一个字节

10队列空

11队列中非第一个操作旧字节

t

2.2.38088CPU的弓I线及其功能

8086CPU和8088CPU的内部总线及内部寄存器均为

16位,是完全相同的。但是,8088CPU的外部数据线是8

位的,即AD0~AD7,每一次传送数据只能是8位。而

8086CPU是真正的16位处理器,每一次传送数据既可以

是16位也可以是8位(高8位或低8位)的。它们有相同的内

部寄存器和指令系统,在软件上是互相兼容的。8088

CPU的引线如图2.3所示。

GND40——Vcv

AM239Aj»

Atj338

A|j437An/S4

An536"Ajg/S3

Ajo635AJQ/SG

7

~5?)o(HiCjr1)

833MN/MX

AD7932RD

ADn——to31HOLD/(RQ/OT(>)

AD51130HLDA/(RQ/GTO

AD41229WR(LOCK)

ADj1328lO/MfS;)

AD21427DT/R(S.)

ADi1526DEN(So)

AD。--1625ALE(QSo)

NMI1724INTACQS))

INTR1823TEST

CLK1922READY

GND202!RESET

图2.38088CPU弓I线

对照图2.2和图2.3,可以发现它们之间的主要不同表现

在引线上:

(1)由于8088CPU外部一次只传送8位数据,因此其引

线Ag〜A15仅用于输出地址信号。而8086则将此8条线变为

双向分时复用的即某一时刻送出地址

ADg〜AD15,Ag〜A15,

而另一时刻则用这8条线传送数据的高8位Dg〜D15。在进行

16位数据操作时,8088CPU一定需要两个总线周期才能完

成16位数据操作,而8086CPU可能只用一个总线周期、一

次总线操作就可完成。因此,8086的速度较8088要快一些。

(2)8086CPU上白如HE/S7信号在8088上%。

(HIGH)信号。这是一条状态输出线。它与10/M和DT/I

信号一起,决定了8088CPU在最小模式下现行总线周期的

状态。它们的不同电平所表示的处理器操作情况如表2.6所

2'O

表2.6IO/M,DT/R,可状态编码

10/MDT/Rss;性能

100中断响应

101读I/O端口

110写I/O端口

111暂停

000取指

001读存储器

010写存储器

011无作用t

HIGH:在最大模式时始终为高电平输出。

⑶8088的引线28是10/而,即CPU访问内存时该引线

输出低电平;访问接口时则输出高电平。对8086而言,该弓|

线的状态刚好相反,即变为M/记:

当然,两者内部的指令预取队列长度不一样,这在前面

已经提到,8088CPU为4个字节而8086CPU为6个字节。从应

用的角度来说,这一不同并不重要,

第2章微处理器及系统结构

2.2.48086/8088CPU内部结构

8086总线

^=>

图278086CPU内部结构框图

一条命令的执行过程一般分为:

取指令

取操作数

执行指令

写入存储器

8088出现以前以上步骤顺序执行(串行)

8086内部的BIU和EU两个独立单元,可独立完成总

线操作和指令执行两个操作,即两个单元可重叠操作,

可两次或多次重叠。

・8088以前的CPU采用串行工作方式:

■••■■

,,,■,,

CPU■■■,■,

•’,•

BUS忙碌忙碌忙碌忙碌

1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成

2)CPU执行指令时总线处于空闲状态

缺点:CPU无法全速运行

解决:总线空闲时预取指令,使CPU需要指令时能立刻得到

•8088CPU采用并行工作方式

执行1执行2执行3

J

忙碌忙碌忙碌忙碌忙碌忙碌

;4

第2章微处理器及系统结构

8086CPU的寄存器结构

15870

1、8086CPU中有14个16位的寄存器。AXAHAL累加器]

BXBHBL基址寄存器数据

A;

CXCHCL计数寄存器等存器

A8个16位通用寄存器;DXDHDL数据寄存器用

>寄

SP堆栈指针寄存器存

A2个16位指针寄存器;器

BP基址指针寄存器

1指针和变址组

SI源变址寄存器寄存器

A2个16位的变址寄存器;DI目的变址寄存器J7

IP指令指针寄存器]

A4个16位的段寄存器;控制寄存器组

FLAGS标志寄存器J

A1个16位指令指针;CS代码段寄存器

DS数据段寄存器

»段寄存器组

A1个16位标志寄存器。SS堆栈段寄存器

ES附加段寄存器,

8086/8088CPU的内部寄存器如图2图2-28086/8088CPU内部寄存器

-2所小。

2、8086(8088)的内部寄存器

含14个16位寄存器,按功能可分为三类

8个通用寄存器

4个段寄存器

2个控制寄存器

数据寄存器(AX,BX,CX,DX)

地址指针寄存器(SP,BP)变址寄存器(SI,DI)

8个16位通用寄存器,它们可分成两组。一组由AX、

BX、CX和DX构成,称为数据寄存器,可用来存放16位

的数据或地址,也可把它们当作8个8位寄存器来使用,

即把每个通用寄存器的高半部分和低半部分分开。低

半部分被命名为AL、BL、CL和DL;高半部分则被命名

为AH、BH、CH和DH。8位寄存器只能存放数据而不能氟

放地址.■

8086(8088)数据寄存器

8088含4个16位数据寄存器,它们

又可分为8个8位寄存器,即:

•AXAH,AL

•BXBH,BL

•CXCH,CL

•DX—>DH,DL

常用来存放参与运算的操作数或运算结果

数据寄存器的用法

•AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接

口传送彳言息;

•BX:基址寄存器。可存数据或在间接寻址中用于存放基地址;还可用于

寻址。

•CX:计数寄存器。可存数据还可用于在循环或串操作指令中存放循环次

数或重复次薮;

•DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I

/0指令中存放I/O端口地址。

指针寄存器(地址)

•SP:堆栈指针寄存器,其内容为栈顶的偏移地址;a

•BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。

BX与BP在应用上的区别

■作为通用寄存器,二者均可用于存放数据;

•作为基址寄存器,BX通常用于寻址数据段;BP则通常

用于寻址堆栈段。

•BX一般与DS或ES搭配使用

变址寄存器

•SI:源变址寄存器

•DI:目标变址寄存器

•变址寄存器常用于指令的间接寻址或变址寻址。特别

是在串操作指令中,用SI存放源操作数的偏移地址,

而用DI存放目标操作数的偏移地址。

控制寄存器

•IP:指令指针寄存器,(16位)它和代码寄存器C

S一起可以确定当前所要取的指令的内存地址。CP

U执行程序的地址总是为CSX16+IPo当顺序

执行程序时,CPU每从内存取一个指令字节,IP自

动加1,指向下一个要读取的指令。其内容为下一

条要执行的指令的偏移地址

当CS不变、IP单独改变时,会发生段内程

序转移;当CS和IP同时改变时,会发生段间程

序转移。

PSW是程序状态字,也有人称它为状态寄存

器或标志寄存器,它用来存放8086CPU在工作过

程中的状态。PSW各位标志如图

IS0

标志寄存器是一个16位的寄存器,空着的各位暂未使用。80

86中所用的9位对了解8086CPU的工作和用汇编语言编写程序是很

重要的。这些标志位的含义如下:

C一进位标志位。做加法时出现进位或做减法时出现借位,

该标志位置1;否则清0。位移和循环指令也影响进位标志。

P一奇偶标志位。当结果的低8位中1的个数为偶数时,则该

标志位置1;否则清0。

A一半加标志位。做加法时,当位3需向位4进位,或做减

法时位3需向位4借位时,该标志位置1;否则清0。该标志位通常

用于对BCD算术运算结果的调整。

Z一零标志位。运算结果所有位均为0时,该标志

位置1;否则清0。

S一符号标志位。当运算结果的最高位为1时,该

标志位置1;否则清0。

T一陷阱标志位(单步标志位)。当该位置1时,将

使8086执行单步指令工作方式。在每条指令执行结束

时,CPU总是去测试T标志位是否为1。如果为1,那么

在本指令执行后将产生陷阱中断,从而执行陷阱中断

处理程序。该中断处理程序的首地址由内存的00004

H-00007H4个单元提供。该标志位通常用于程序的调

试。例如,系统调试软件DEBUG中的T命令,就是利用

它来进行程序的单步跟踪的。

I一中断允许标志位。如果该位置1,则处理器可

以响应可屏蔽中断请求;否则就不能响应可屏蔽中断

请求O

D一方向标志位。当该位置1时,串操作指令为自

动减量指令,即从高地址到低地址处理字符串;否则

串操作指令为自动增量指令。

0一溢出标志位。在算术运算中,带符号数的运算

结果超出了8位或16位带符号数所能表达的范围,即字

节运算大于+127或小于T28时,字运算大于+3276

7或小于-32768时,该标志位置位。

段寄存器

4个16位段寄位器,它们是代码段寄存器CS,用于存放当前代码段

的段地址;数据段寄存器DS,用于存放当前数据段的段地址;附加段寄

存器ES,用于存放当前附加段的段地址;堆栈段寄存器SS,用于存放当

前堆栈段的段地址。这些段寄存器彼此不能互换,每个段寄存器在只能

寻址64KB。

CS:代码段寄存器

代码段用于存放指令代码

DS:数据段寄存器

ES:附加段寄存器

数据段和附加段用来存放操作数

SS:堆栈段寄存器

堆栈段用于存放返回地址,保存寄存器内容,-

传递参数・

物理地址与逻辑地址

在具有地址变化机构的计算机中地址有两

种物理地址和逻辑地址

逻辑地址:允许在程序中编排的地址

物理地址:信息在存储器中实际存放的地址

8086(8088)每个存储单元也都认为有这两种

地址

物理地址

物理地址

60000H

存储器的操作完全基于60001H

物理地址。60002H

60003H

»问题:60004H

8088的内部总线和内部

寄存器均为16位,如何

生成20位地址?

A解决:存储器分段

存储器分段

一个段是存储器的一个逻辑单元,长度达64KB,每

个段都由连续的存储单元构成,使存储器中可独立的分别

寻址的单位。

每段第一个字节的位置成为“段起始地址”.

每个段可相互重叠,也可指向同一空间.

8086(8088)CPU有20条地址线,可配置1M存储器,地址

为00000H——FFFFOHo

1M

存储器分段

低地址

段基址八

段i—最大64KB,最小16B

段基址1——

段i

段基址

段i+1

段基址

高地址

•段基地址和段内偏移组成了逻辑地址

段地址偏移地址(偏移量)夕―一60000

格式为:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论