微机原理及其应用第二章8086微处理器与汇编语言(上)-课件_第1页
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件_第2页
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件_第3页
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件_第4页
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及其应用普通高等教育“十一五”国家级规划教材 作者 丁新民2007年5月微机原理及其应用普通高等教育“十一五”国家级规划教材 作者 第二章8086微处理器与汇编语言(上) 第二章学习目标 1、识记8086微处理器的基本结构、系统总线周期、基本工作原理。 2、理解通用寄存器、段寄存器、标志和指针寄存器、基址和变址寄存器的功能和作用。 3、理解8086存储器的地址分段和结构,数据和程序地址的计算方法。 4、识记8086系统最大和最小模式,及其在不同方式下的工作时序要求。 5、理解80X86寻址方法的区别和应用要求。学习目标 1、识记8086微处理器的基本结构、系统总第二章微处理器与汇编语言

2、(上)2.1 8086系统结构2.2 寻址方式第二章微处理器与汇编语言(上)2.1 8086系统结构一、8086系统结构1. 8086内部结构2. 寄存器组3. 引脚及其功能4. 总线周期5. 存储器组织6. 输入/输出组织7. 最小与最大模式系统 一、8086系统结构1. 8086内部结构第一节8086内部结构第一节 8086分为总线接口部件BIU和执行部件EU两个部分,如图2-1-1所示。内部通讯ESIPSSDSCSAH ALCH CLSPSIDIBPDH DL标志位ALU EU控制器1 2 3 4 5 6指令队列执行部件总线接口部件图2-1-1 8086 CPU内部结构暂存器16位ALU

3、数据线总线控制逻辑8086总线BH BL16位数据线20位地址线寄存器 8086分为总线接口部件BIU和执行部件EU1总线接口部件BIU 提供16位双向数据总线和20位地址总线。具体功能是:取指令、指令排队、读操作数和写操作数、地址形成和总线控制。BIU由段寄存器和指令指针IP,指令队列缓存器,地址加法器和总线控制逻辑部件等组成。 (1)段寄存器 8086最大可寻址1MB存储空间,将1MB空间划分成若干个逻辑段,每个段最大为64KB,用段寄存器来存放段起始地址。内设CS、DS、SS和ES段寄存器,分别用来存放代码段、数据段、堆栈段和扩展数据段的基地址。 1总线接口部件BIU 提供16位双向数据

4、1总线接口部件BIU (2)指令指针 指令指针(IP)的功能类似于程序计数器PC,用来存放下一条要执行指令的偏移地址。指令地址由CS和IP构成。但是,程序是不能直接访问IP,只能由BIU自动修改。 (3)地址加法器 地址加法器用来计算20位存储地址。当执行部件计算出寻址单元的偏移量后,就与左移4位后的段寄存器内容一起送地址加法器进行相加,得到一个20位的存储地址。寻址单元的偏移地址可以来自IP,也可以来自其他寄存器。 1总线接口部件BIU (2)指令指针1总线接口部件BIU (4)指令队列缓存器 指令队列缓存器是用来暂存从存储器中取出的指令。指令队列缓存器为6个字节。指令队列采用FIFO的管理

5、方式,预取6字节的指令代码。在执行指令的同时,从存储器中取下一条指令或几条指令,填充指令队列缓存器。这样,CPU的取指令和执行指令操作是并行的。 当指令队列中有一条指令或填满指令时,执行部件EU就从该队列中取出指令执行。EU从指令队列的输出端取出指令后,BIU自动调整指令队列输出端指针,并作指令预取操作。1总线接口部件BIU (4)指令队列缓存器1总线接口部件BIU (4)指令队列缓存器(续) EU从指令队列取出指令,经指令译码分析后,向BIU申请从存储器或I/O端口读写操作数。只要收到EU送来的逻辑地址,BIU就通过专用的地址加法器,以现行的段寄存器和逻辑地址产生一个20位的存储地址送地址总

6、线。当EU执行转移、调用或返回指令时,BIU将自动清除指令队列中原有的内容,重新填充指令队列。 (5)总线控制逻辑 总线控制逻辑用于产生存储器读/写、I/O读/写控制信号。 1总线接口部件BIU (4)指令队列缓存器(续)2执行部件EU EU的主要功能是完成指令译码和执行指令的工作。由ALU、标志寄存器、通用寄存器组、暂存器、控制部件等组成。 (1)ALU 16位的ALU用来对8位或16位操作数进行算术或逻辑运算。另外,16位的暂存器也可以参加运算。 (2)标志寄存器 16位标志寄存器用来表示ALU运算后的结果特征,为下一条指令的执行提供操作信息。 2执行部件EU EU的主要功能是完成指令译2

7、执行部件EU (3)通用寄存器组 通用寄存器组共有八个16位寄存器。其中,四个寄存器可用作存放数据或地址,四个为指针和变址寄存器。这些都可以参加算术和逻辑运算,具体内容将在下一节介绍 。 (4)控制部件 主要用于取指令的控制和时序控制。 2执行部件EU (3)通用寄存器组第二节寄存器组第二节2寄存器组 如图2-1-2所示为8086的寄存器结构,共分为四组16位寄存器,它们分别是通用寄存器、指针和变址寄存器、段寄存器和标志位寄存器。通用寄存器: 段寄存器: 15 8 7 0 15 0AXBXCXDXAHAL累加器 CS代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器BHBL基址寄存器 DSCHC

8、L计数寄存器 SSDHDL数据寄存器 ES指针和变址寄存器: 指令指针和标志寄存器: 15 0 15 0SP BPSIDI堆栈指针 IP基址指针 FLAGS源变址寄存器目标变址寄存器图2-1-2 8086寄存器结构 2寄存器组 如图2-1-2所示为8086的寄2寄存器组 (1)通用寄存器组 通用寄存器组由八个16位寄存器构成,按用途可分为数据寄存器和指针/变址寄存器两大类 。它们都可以参加算术和逻辑运算。 数据寄存器 由四个16位的AX、BX、CX和DX寄存器组成。每个寄存器可作为一个独立的16位寄存器使用,也可以分别编址成两个8位寄存器使用。这样,每个数据寄存器对应的高8位寄存器是AH、BH

9、、CH和DH;低8位寄存器是AL、BL、CL和DL。 2寄存器组 (1)通用寄存器组2寄存器组 数据寄存器(续)表2-1-1 8086通用寄存器的特殊用法寄存器操 作隐含性质隐含使用AX、AL在输入输出指令中作数据寄存器不能隐含DS在乘法指令中存放被乘数或积隐含在除法指令中存放被除数或商隐含AH在LAHF指令中作目标寄存器隐含DSAL在XLAT指令中作累加寄存器隐含DS在BCD码运算指令中作累加寄存器不能隐含在ASC运算指令中作累加寄存器不能隐含BX在间接寻址中作基址寄存器不能隐含DS在XLAT指令中作基址寄存器隐含CX在串指令和LOOP指令中作计数寄存器隐含DSCL在位移/循环位移指令中作计

10、数寄存器不能隐含DS在乘法指令中存放乘积隐含在除法指令中存放被除数高位或余数隐含在间接寻址中作变址寄存器不能隐含SP在堆栈寻址中作堆栈指针隐含SSBP在间接寻址中作基址指针不能隐含SSSI在字符串操作指令中作源变址寄存器在间接寻址中作变址寄存器隐含不能隐含DSDI在字符串操作指令中作目标变址寄存器在间接寻址中作变址寄存器隐含不能隐含DS2寄存器组 数据寄存器(续)表2-1-1 8086通2寄存器组 指针和变址寄存器 由四个16位的寄存器SP、BP、SI和DI组成。这些寄存器存放段内的偏移量,用来形成操作数的存储地址。SP为堆栈指针、BP为基址指针、SI为源变址、DI为目标变址。 SP和BP使用

11、SS堆栈段。若不特别指明某个段,则被认为使用现行堆栈段。SP始终指向栈顶。BP可指向堆栈段的任意单元。 SI和DI称为变址寄存器,通常与DS数据段一起使用。串操作指令中, 规定SI使用DS数据段, DI使用ES扩展数据段。2寄存器组 指针和变址寄存器2寄存器组 (2)段寄存器组 段寄存器组由CS、DS、SS和ES四个16位的寄存器构成。表2-1-2 段寄存器和现行段的对应关系寄存器含 义隐含识别的现行段CS代码段寄存器现行代码段DS数据段寄存器现行数据段SS堆栈段寄存器ES附加段寄存器现行附加段现行堆栈段2寄存器组 (2)段寄存器组表2-1-2 段寄存器和现行2寄存器组 (2)段寄存器组(续)

12、 8086通过CS得到执行指令的段基地址,加上指令指针IP中的指令偏移量,产生20位的存储器地址。例如CS4000H、IP004AH。那么,20位物理地址应该是4004AH单元。 40000 CS代码段内容左移4位 004A IP的段内偏移量 4004AH 下一条指令的存储地址 操作数所在段,可以在指令前加段前缀,若缺省前缀,则规定使用DS。对于BP和SP,系统默认使用SS。2寄存器组 (2)段寄存器组(续)2寄存器组 (3)指令指针 16位的指令指针IP,用来存放下一条指令在CS中的偏移量。IP的内容由总线接口部件BIU自动修改。指令顺序执行时,存放下一条待执行指令的偏移量;发生中断或调用时

13、,BIU自动将IP的偏移量压入堆栈保存。程序不能直接访问IP。 (4)标志寄存器 16位的标志寄存器含有九个有效标志位,分为条件标志位/程序状态字和控制标志位两个部分。2寄存器组 (3)指令指针2寄存器组 (4)标志寄存器(续)15 12 11 10 9 8 7 6 4 2 0OFDFIFTFSFZFAFPFCF图2-1-3 8086 标志寄存器 条件标志位 CF进位标志位:运算中发生进位或借位时,CF为“1”;否则,CF为“0”。用STC指令可设置CF为“1”、CLC指令置CF为“0”、CMC指令对CF求反;循环指令也会影响该标志位状态。 2寄存器组 (4)标志寄存器(续)15 2寄存器组

14、(4)标志寄存器(续) 条件标志位(续) AF辅助进位标志位:在运算结果的低4位向高4位有进位或借位时,AF为“1”;反之,AF为“0”。 OF溢出标志位:运算结果超出机器表示范围时,OF为“1”;否则,OF为“0”。带符号数的操作,若字节运算结果超过-128+127范围或者字运算结果超过-32768+32767范围时,OF为“1”。2寄存器组 (4)标志寄存器(续)2寄存器组 (4)标志寄存器(续) 条件标志位(续) ZF零标志位:运算结果为零时,ZF为“1”;否则,ZF为“0” 。 SF符号标志位:运算结果负数时,SF为“1”;否则,SF为“0”。 PF奇偶标志位:运算结果的低8位中有偶数

15、个“1”时,PF为“1”;否则,ZP为“0” 。2寄存器组 (4)标志寄存器(续)2寄存器组 (4)标志寄存器(续) 控制标志位 DF方向标志位:DF为“0”时,变址地址指针SI、DI自动作增量操作,字节操作增量为1,字操作增量为2;DF为“1”时,作减量操作。可用STD、CLD指令设置DF。 IF中断允许标志位:IF为“1”时,允许CPU响应中断请求;IF为“0”时,禁止响应。用STI 、 CLI指令设置IF。 TF陷阱标志位:TF为“1”时,CPU每执行完一条指令就产生一个内部中断。2寄存器组 (4)标志寄存器(续)第三节引脚及其功能第三节3引脚及其功能 8086微处理器芯片采用双列直插式

16、40条引脚的封装结构,设有20条的地址线和16条的数据线,如图2-1-4 所示。为了减少芯片的引线,部分引脚具有双重功能,采用分时复用方式工作。 3引脚及其功能 8086微处理器芯片采用双3引脚及其功能 (1)数据和地址总线 AD15AD0 地址/数据复用总线(输入/输出、三态)。 A19/S6A16/S3 地址/状态复用总线(输出、三态)。 BHE/S7 数据总线高位允许/状态复用引脚(输出、三态)。 (2)控制和状态线 RD 读控制(输出、三态)。 RAEDY 外部准备就绪(输入)。3引脚及其功能 (1)数据和地址总线 3引脚及其功能 (2)控制和状态线(续) INTR 可屏蔽中断(输入)

17、。 TEST 等待测试(输入)。 NMI 不可屏蔽中断(输入)。 RESET 系统复位(输入)。 CLK 时钟(输入)。 Vcc (5V)电源(输入)。 GND 接地(输入)。 MN/MX 最小/最大模式选择(输入)。3引脚及其功能 (2)控制和状态线(续) 3引脚及其功能 (3) 最小模式(MN/MXVcc)控制和线状态 M/IO 存储器或输入/输出控制(输出、三态)。 WR 写控制(输出、三态)。 INTA中断响应(输出)。 ALE 地址锁存允许(输出)。 DT/R 数据发送/接收(输出、三态)。 DEN 数据传输允许(输出、三态)。 HOLD 总线请求(输入)。 HLDA 总线响应(输出

18、)。3引脚及其功能 (3) 最小模式(MN/MXVcc)控3引脚及其功能 (4) 最大模式(MN/MXGND)控制和线状态 S2、S1、S0 总线周期状态(输出、三态)。 RQ/GT0、RQ/GT1 总线请求/总线允许(输入/输出)。 LOCK总线锁定信号(输出、三态)。 QS1、QS0 指令队列状态(输出)。S2 S1 S0特 性特 性0 0 0中断响应1 0 0取指令0 0 1读I/O端口1 0 1读存储器0 1 0写I/O端口1 1 0写存储器0 1 1暂停1 1 1不作用3引脚及其功能 (4) 最大模式(MN/MXGND)控第四节总线周期第四节4总线周期 8086的时钟脉冲(CLK)由

19、时钟发生器(如8284A)来提供,例如若机器的主频为10MHz,那么一个时钟周期为100ns。 8086CPU完成一个机器周期(将处理一条指令划分为几个不同的阶段,每个阶段称为一个机器周期)需要用四个时钟周期,即T1、T2、T3和T4状态。 典型的一个总线周期操作如图2-1-5所示,图中RD信号表示读总线周期,WR信号表示写总线周期,DT/R和DEN信号控制总线收发的传送方向和何时允许传送。 4总线周期 8086的时钟脉冲(CLK)由时4总线周期A15A0 数据 无效 A15A0 数据 无效A19A16 状态 S7S3 A19-A16 状态 S7S3图2-1-5 8086总线周期存储器访问期间

20、CLK T1 T2 T3 Tw T4 T1 T2 T3 Tw T4机器周期机器周期DT/RALEADDR/STATUSADDR/DATAS2 S0RD、INTAREADYWRDENWaitReady4总线周期A15A0 数4总线周期 总线周期T1、T2、T3和T4的操作: T1状态,CPU发送地址信号,指出存储单元或I/O端口地址。同时,发出地址锁存允许信号ALE,地址送入地址锁存器。 T2状态,CPU撤销地址,为读入数据作准备。总线高4位输出总线周期状态信息。 T3状态,总线高4位信息状态不变,地址总线低16位输出数据或从I/O端口或存储器输入数据。若末准备就绪,插入等待状态Tw,直到准备就

21、绪。 在T4状态,总线周期结束。4总线周期 总线周期T1、T2、T3和T4的操作:第五节存储器组织第五节5存储器组织 (1)存储器基本结构 8086存储器按字节编址,寻址范围为0220-1,存储器最大容量为1MB。按0000H0FFFFH编址,存储地址从低到高编址,如图2-1-6所示。 地址 存储器 0000H 0段 64KB 0FFFH0F0000H 15段 64KB0FFFFFH 图2-1-6 存储器结构 存储器中任何两个相邻的字节单元被定义为一个字,每个字节都有各自的字节地址。字节地址较小的作为字地址。字存放时,高位字节5存储器组织 (1)存储器基本结构 地址 5存储器组织 (1)存储器

22、基本结构(续) 存放在高地址,低位字节存放在低地址中。先存放低位字节,后存放高位字节。 8086是以地址编址为单位访问的,对于奇地址编址存取操作,就必须访问存储器两次,并且还要作调整操作。因此,要求字编址应被2整除;双字编址应被4整除;字节地址没有要求。 (2)存储器地址的分段 8086内部寄存器的宽度16位,寻址范围为64KB。为支持寻址20位物理空间,将1MB存储5存储器组织 (1)存储器基本结构(续)5存储器组织 (2)存储器地址的分段(续) 空间划分成若干逻辑段,每个逻辑段最多包含64KB。逻辑段可在存储器中任意定义。逻辑段相互独立,可连续或相互重叠。 存储器 代码段寄存器 16位 代

23、码段 216字节 16位 附加段寄存器 附加段 216字节 堆栈段寄存器 16位 堆栈段 216字节 16位 数据段寄存器 数据段 216字节 图2-1-7 存储器分段示例 逻辑段基址能被16整除,各自有对应的段寄存器。由此,存储地址由段基址和段内偏移量构成的,如图2-1-7所示。 5存储器组织 (2)存储器地址的分段(续) 5存储器组织 (3)物理地址的形成 CPU访问存储器的20位地址,就是物理地址。逻辑地址是程序地址,它由段基地址和偏移量组成。它们之间的地址变换公式为 20位物理地址段基址24偏移地址 段基址 0000 16位偏移量 20位物理地址 图2-1-8 物理地址的形成 如图2-

24、1-8所示,将段基址值左移4位,加上16位的偏移量,形成20位物理地址。地址变换是由BIU部件的地址加法器完成。 5存储器组织 (3)物理地址的形成 段基址 0005存储器组织 (4)8086 存储器分体结构 存储空间按奇地址和偶地址划分成两个存储体,每个存储体容量为512KB。通过地址线AD0和数据总线高位允许BHE来选择存储体。当AD00和BHE1时选偶地址存储体,与数据总线的低8位相连;当AD01和BHE0时选奇地址存储体,与数据总线的高8位相连;在AD00和BHE0时,偶地址存储体和奇地址存储体同时工作。存储体的体内地址都是由A19A16和AD15AD1决定。如图2-1-9所示为存储体

25、与总线的连接。 5存储器组织 (4)8086 存储器分体结构 5存储器组织 (4)8086 存储器分体结构(续)D7D0偶地址存储体SEL A18A0D7D0奇地址存储体SEL A18A0 数据DA7DA0 总线DA15DA8 BHE AD0A19A16、AD15AD1图2-1-9 存储体与总线连接图 CPU与存储器的存取操作,偶地址的数据通过低8位数据总线、奇地址经高8位数据总线。传送一个字节,无论地址是偶数还是奇数,数据总线只能使用8位,另外8位被忽略掉。 5存储器组织 (4)8086 存储器分体结构(续)D7D第六节输入/输出组织第六节6输入/输出组织 8086系统和外部设备进行数据通讯

26、的连接电路叫接口,就是I/O芯片上的一个或若干个端口。每个端口都有独立的地址,分别对应一个寄存器。8086提供有64KB个8位端口,每个端口有惟一的编号,取值范围0000H0FFFFH之间。相邻的两个8位端口可组成一个16位端口。 IN指令作读操作,CPU芯片引脚RD和M/IO同时为低电平状态;OUT指令作写操作,引脚WR和M/IO同时为低电平。端口寻址不使用段寄存器。6输入/输出组织 8086系统和外部设备进行第七节最小与最大模式系统第七节7最小与最大模式系统 (1)最小模式系统 系统中只有一个微处理器,并且CPU芯片引脚MN/MXVcc时,这就是最小模式系统;此时,系统所有的控制信号全部由

27、8086CPU提供。在最小模式系统中,除了CPU、存储器以及I/O接口电路外,还要配置时钟发生器、地址锁存器和数据总线收发器等电路,如图2-1-10所示。 7最小与最大模式系统 (1)最小模式系统 7最小与最大模式系统 (1)最小模式系统(续)图2-1-10 8086最小模式系统配置 82823OETSTB DO7DO0DI7DI0 OEB7B0A7A082862控制总线存储器 I/O接口数据总线地址总线 BHE+5V 8284ACLK RESET READY MN/MX ALE BHE A19- A16 AD15-AD0 8086 DEN DT/R M/IO WR HOLD HLDA INT

28、R INTA 7最小与最大模式系统 (1)最小模式系统(续)图2-1-7最小与最大模式系统 (1)最小模式系统 时钟产生器8284A 8284A为CPU提供内部和外部的时间基准时钟信号CLK,还为系统外部信号READY和系统RESET提供同步。如图2-1-11所示,晶体振荡器连接在8284A的输入端X1和X2,F/C端接地。8284A在CLK上输出占空比为1/3的时钟信号,连接到CPU的CLK引脚。总线的READY和RESET引脚连接芯片的RDY和RES引脚。7最小与最大模式系统 (1)最小模式系统7最小与最大模式系统 (1)最小模式系统(续) 时钟产生器8284A(续) X1 8284A X

29、2 CLK CLK F/C RESET RESET READY READY 8086 EFI RDY RES 控制总线 图2-1-11 8284A时钟产生器与8086的连接 8284A在F/C端接高电平时,可以直接使用脉冲发生器的信号。这时可将脉冲发生器的信号与芯片的EFI引脚相连。外部设备时钟可以提供占空比为1/2的外部时钟。 7最小与最大模式系统 (1)最小模式系统(续) 7最小与最大模式系统 (1)最小模式系统(续) 地址锁存器8282/8283 由于地址和数据的复用,锁存器须带有三态缓冲。选通信号STB与CPU的ALE相连,STB有效时,输入端DI7DI0上的8位数据被锁存。当OE有效

30、时,锁存器输出;反之,为高阻状态。 系统中,要用三片作地址锁存器。CPU在读/写总线周期T1状态,将地址和BHE信号送到总线,并在ALE有效时,将地址锁存。7最小与最大模式系统 (1)最小模式系统(续)7最小与最大模式系统 (1)最小模式系统(续) 数据总线收发器8286/8287 8286/8287芯片是8位的、输出带有三态控制的、双向驱动的数据缓冲器。数据总线16位,需要用两片8286/8287芯片。 OE引脚是芯片的输出控制,它与CPU的DEN相连。当OE0时,允许;反之,禁止,并设置为高阻状态。T引脚是收、发方向控制,与CPU的DT/R相连。T0时,A7A0为输入;反之,输出。A7A0

31、直接与数据总线相连。 7最小与最大模式系统 (1)最小模式系统(续)7最小与最大模式系统 (2)最大模式系统 CPU芯片引脚MN/MX接地时,系统为最大模式。此时,系统是由多个微处理器/协处理器构成的多机系统。系统资源是由各处理器共享,控制信号是通过总线控制器来产生。系统增加了总线控制器、总线裁决器,如图2-1-12所示。CPU输出的状态信息S2、S1、S0同时送到总线控制器和总线裁决器。总线裁决器负责控制总线使用权,并根据使用总线的优先权来分配使用。 7最小与最大模式系统 (2)最大模式系统7最小与最大模式系统 (2)最大模式系统(续)CLK S2S1S0 8289 AEN 图2-1-12

32、8086最大模式系统配置T 8286OEA7A0存储器 I/O接口STB 82823 OEDI7DI0CLK AENS2S1S0 INTA 8288 MRDC DEN MWTC DT/R IOWC ALE IORC系统总线 8284A RESET READY CLK MN/MX S2S1S0 8086 BHE A19-A16 AD15-AD07最小与最大模式系统 (2)最大模式系统(续)CLK 7最小与最大模式系统 (2)最大模式系统(续) 总线控制器8288 图2-1-13给出了总线控制器8288的引脚,表2-1-7给出总线状态与输出信号的对应关系。 表2-1-7 8288提供的总线周期的输

33、出信号S2 S1 S0 CPU状态8288输出命令0 0 0 中断响应INTA0 0 1 读I/O端口IORC0 1 0 写I/O端口IOWC、AIOWC0 1 1 暂停无1 0 0 取指令MRDC1 0 1 读存储器MRDC1 1 0 写存储器MWTC、AMWC1 1 1 无作用无图2-1-13 总线控制器8288引脚1234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWCMWTCGNDVcc(5V)S0S2MCE/PDENDENCENINTAIORCAIOWCIOWC7最小与最大模式系统 (2)最大模式系统(续)表2-1-7最小与最

34、大模式系统 (2)最大模式系统(续) 总线控制器8288 (续) 读存储器MRDC(输出) 写存储器MWTC和AMWC(输出) 读I/O端口IORC(输出) 写I/O端口IOWC和AIOWC(输出) 中断响应INTA(输出)7最小与最大模式系统 (2)最大模式系统(续)7最小与最大模式系统 (2)最大模式系统 总线裁决器8289 总线忙BUSY(输入/输出) 公共总线请求CBRQ(输入/输出) 总线优先权输出BPRO 总线优先权输入BPRN 总线请求输出BREQ 总线时钟信号输入BCLK图2-1-14 总线裁决器8298引脚Vcc(5V)S1S0CLKLOCKCRQLCKIANYRQSTAEN

35、CBRQBUSY1234567891020191817161514131211S2IOBSYSB/RESBRESBBCLKINITBREQBPROBPRNGND7最小与最大模式系统 (2)最大模式系统图2-1-14 1、指令的基本格式2、寻址方式 二、寻址方式1、指令的基本格式 二、寻址方式第一节指令的基本格式第一节1指令的基本格式 指令包括操作码和操作数两个部分,如图2-2-1所示。其中,操作码表示机器的命令,如传送、加、减等操作。操作数用来指出参加运算的数据地址,故又称地址码。 操作码操作数图2-2-1指令的基本格式 操作数有零操作数、一操作数和二操作数三种形式。确定操作数存储地址的过程也

36、不相同,称寻找操作数有效地址的方法为寻址方式。操作数有寄存器、存储器、立即数和输入输出端口四种类型。1指令的基本格式 指令包括操作码和操作数两个第二节寻址方式第二节2寻址方式 (1)立即数寻址 指令所需的操作数直接包含在指令代码中,立即数可以是8位,也可以是16位。例如: MOV AX,1234H MOV AH,0ABH 立即数作为指令的一部分直接从BIU的指令序列中取出,不需要占用总线周期,故执行速度快。但这种寻址方式的使用受到一定的限制。2寻址方式 (1)立即数寻址 2寻址方式 (2)寄存器寻址 指令所需的操作数在CPU内的某个寄存器中,存取操作不占总线周期,执行速度快。 指令中直接书写寄

37、存器名,如AX、BX、AL、CH、DS、ES等,寄存器可以是8位或16位,同一条指令中,源操作数和目的操作数的位数要求必须相同。例如: MOV CL,AL MOV DH,BH MOV DX,CX MOV DS,AX2寻址方式 (2)寄存器寻址 2寻址方式 (2)寄存器寻址(续) 汇编语言源程序中,存储地址是以逻辑地址形式表示,即段基值和偏移量,其中,段基值在段寄存器,偏移量表示存储单元与段起始地址的偏移。有效地址由三个地址分量组合构成,三个地址分量是: 位移量 指令中以变量名或标号给出的8位或16位数。汇编后,这些操作数名的偏移量被转换为指令代码中的位移量。2寻址方式 (2)寄存器寻址(续)

38、2寻址方式 (2)寄存器寻址(续) 基地址 由基址寄存器BX或基址指针BP所提供。 变址 由源变址SI或目的变址DI提供的内容。 三个地址分量组合时,若出现两个或两个以上分量时,则需进行以216为模的16位加法运算。正是因为三个地址分量的不同组合,才会出现对存储器操作数寻址的多种不同的寻址方式。 2寻址方式 (2)寄存器寻址(续) 2寻址方式 (3)直接寻址 这是存储器寻址方式中最简单的,有效地址EA直接由位移量给出,如图2-2-2所示。 这种方式不涉及其它寄存器(段寄存器除外),主要用于存、取简单变量。在指令中,直接寻址方式可以用符号或常数来表示。 操作码 位移量 EA 图2-2-2 直接寻

39、址方式 2寻址方式 (3)直接寻址 操作码 2寻址方式 (3)直接寻址(续) 用符号表示 MOV BX,VAR 该指令等价于:MOV BX,DS。它是将变量VAR(隐含使用段寄存器DS)所指的字单元内容传送给BX寄存器。 MOV CL,DA+3 该指令是把由DA地址偏移三个字节单元的那个单元的内容送给CL寄存器。2寻址方式 (3)直接寻址(续) 2寻址方式 (3)直接寻址(续) 用常数表示 MOV AX,DS:100H 该指令是把由当前数据段偏移100H个字节的那个字单元的内容送给AX寄存器。 注意:用常数表示位移量时,段寄存器必须指明,不能缺省。 2寻址方式 (3)直接寻址(续) 2寻址方式 (4)寄存器间接寻址 操作数地址直接从基址或变址寄存器中获得,如图2-2-3所示。如: MOV AX,BX MOV BH,BP MOV CL,SI MOV DI,BX 上述4条指令分别等价于: MOV AX,DS:BX MOV BH,SS:BP MOV CL,DS:SI MOV DS:DI,BX 操作码 MOD REG R/M BX BP EA SI DI 图2-2-3 寄存器寻址方式 2寻址方式 (4)寄存器间接寻址 操作码 2寻址方式 (5)基址寻址和变址寻址 操作数的有效

温馨提示

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

评论

0/150

提交评论