微机原理及其应用第二章8086微处理器与汇编语言(上)-课件

PPT
  • 阅读 46 次
  • 下载 0 次
  • 页数 75 页
  • 大小 521.012 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件
可在后台配置第一页与第二页中间广告代码
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件
可在后台配置第二页与第三页中间广告代码
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件
可在后台配置第三页与第四页中间广告代码
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件
微机原理及其应用第二章8086微处理器与汇编语言(上)-课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 75
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】微机原理及其应用第二章8086微处理器与汇编语言(上)-课件.ppt,共(75)页,521.012 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44814.html

以下为本文档部分文字说明:

第二章8086微处理器与汇编语言(上)学习目标1、识记8086微处理器的基本结构、系统总线周期、基本工作原理。2、理解通用寄存器、段寄存器、标志和指针寄存器、基址和变址寄存器的功能和作用。3、理解8086存储器的地址分段和结构,数据和程序地址的计算方法。4

、识记8086系统最大和最小模式,及其在不同方式下的工作时序要求。5、理解80X86寻址方法的区别和应用要求。第4页2022/11/24上海第二工业大学丁新民第二章微处理器与汇编语言(上)2.18086系统结构2.2寻址方式第5页2022/11/24上海第二工业大学丁新民

一、8086系统结构1.8086内部结构2.寄存器组3.引脚及其功能4.总线周期5.存储器组织6.输入/输出组织7.最小与最大模式系统第一节8086内部结构8086分为总线接口部件BIU和执行部件EU两个部分,如图2-1-1所示。内部通讯ESIPSSDSCSAHALCHCLSPSIDIBPD

HDL标志位ALUEU控制器123456指令队列执行部件总线接口部件图2-1-18086CPU内部结构暂存器16位ALU数据线总线控制逻辑8086总线BHBL16位数据线Σ20位地址线寄存器1.总线接口部件BI

U提供16位双向数据总线和20位地址总线。具体功能是:取指令、指令排队、读操作数和写操作数、地址形成和总线控制。BIU由段寄存器和指令指针IP,指令队列缓存器,地址加法器和总线控制逻辑部件等组成。(1)段寄存器8086最大可寻址1MB存储空间,将1MB空间划分成若干个逻辑段,每个段最大

为64KB,用段寄存器来存放段起始地址。内设CS、DS、SS和ES段寄存器,分别用来存放代码段、数据段、堆栈段和扩展数据段的基地址。1.总线接口部件BIU(2)指令指针指令指针(IP)的功能类似于程序计数器PC,用来存放下一条要执行指令的偏移地址。指令地址由

CS和IP构成。但是,程序是不能直接访问IP,只能由BIU自动修改。(3)地址加法器地址加法器用来计算20位存储地址。当执行部件计算出寻址单元的偏移量后,就与左移4位后的段寄存器内容一起送地址加法器进行相加,得到一个20位的存

储地址。寻址单元的偏移地址可以来自IP,也可以来自其他寄存器。1.总线接口部件BIU(4)指令队列缓存器指令队列缓存器是用来暂存从存储器中取出的指令。指令队列缓存器为6个字节。指令队列采用FIFO的管理方式,预取6字节的指令代码。在执行指令的同时,从存储器中取下一条

指令或几条指令,填充指令队列缓存器。这样,CPU的取指令和执行指令操作是并行的。当指令队列中有一条指令或填满指令时,执行部件EU就从该队列中取出指令执行。EU从指令队列的输出端取出指令后,BIU自动调整指令队列输出端指针,并作指令

预取操作。1.总线接口部件BIU(4)指令队列缓存器(续)EU从指令队列取出指令,经指令译码分析后,向BIU申请从存储器或I/O端口读写操作数。只要收到EU送来的逻辑地址,BIU就通过专用的地址加法器,以现行的段寄存器和逻辑地址产生一个20位的存储地址送地址总线。当EU执行转移

、调用或返回指令时,BIU将自动清除指令队列中原有的内容,重新填充指令队列。(5)总线控制逻辑总线控制逻辑用于产生存储器读/写、I/O读/写控制信号。2.执行部件EUEU的主要功能是完成指令译码和执行指令的工作。由ALU、标志寄存器、通用寄存器组、暂存器、控制部件等组成

。(1)ALU16位的ALU用来对8位或16位操作数进行算术或逻辑运算。另外,16位的暂存器也可以参加运算。(2)标志寄存器16位标志寄存器用来表示ALU运算后的结果特征,为下一条指令的执行提供操作信息。2.执行部件EU(3)通用寄存器组通用寄存器组共有八个16位寄存器。其中,四个

寄存器可用作存放数据或地址,四个为指针和变址寄存器。这些都可以参加算术和逻辑运算,具体内容将在下一节介绍。(4)控制部件主要用于取指令的控制和时序控制。第二节寄存器组2.寄存器组如图2-1-2所示为8086的寄存器结构,共分为四组16位寄存器,它们分别是通用寄存器、

指针和变址寄存器、段寄存器和标志位寄存器。通用寄存器:段寄存器:15870150AXBXCXDXAHAL累加器CS代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器BHBL基址寄存器DSCHCL计数寄存器SSDHDL数据寄存器ES指针和变址寄存器

:指令指针和标志寄存器:150150SPBPSIDI堆栈指针IP基址指针FLAGS源变址寄存器目标变址寄存器图2-1-28086寄存器结构2.寄存器组(1)通用寄存器组通用寄存器组由八个16位寄存器构成,按用途可分为数据寄存器和指针/变址寄存器两大类。它们都可

以参加算术和逻辑运算。①数据寄存器由四个16位的AX、BX、CX和DX寄存器组成。每个寄存器可作为一个独立的16位寄存器使用,也可以分别编址成两个8位寄存器使用。这样,每个数据寄存器对应的高8位寄存器是AH、

BH、CH和DH;低8位寄存器是AL、BL、CL和DL。2.寄存器组①数据寄存器(续)表2-1-18086通用寄存器的特殊用法寄存器操作隐含性质隐含使用AX、AL在输入输出指令中作数据寄存器不能隐含DS在乘法指令中存放被乘数或积隐含在除法指令中存放被除数或商隐含AH在LAHF指令中作目标寄

存器隐含DSAL在XLAT指令中作累加寄存器隐含DS在BCD码运算指令中作累加寄存器不能隐含在ASCⅡ运算指令中作累加寄存器不能隐含BX在间接寻址中作基址寄存器不能隐含DS在XLAT指令中作基址寄存器隐含

CX在串指令和LOOP指令中作计数寄存器隐含DSCL在位移/循环位移指令中作计数寄存器不能隐含DS在乘法指令中存放乘积隐含在除法指令中存放被除数高位或余数隐含在间接寻址中作变址寄存器不能隐含SP在堆栈寻址中作堆栈指针隐含SSBP在间接寻址中作基址指针不能隐含SSSI在字符串操作指令中

作源变址寄存器在间接寻址中作变址寄存器隐含不能隐含DSDI在字符串操作指令中作目标变址寄存器在间接寻址中作变址寄存器隐含不能隐含DS2.寄存器组②指针和变址寄存器由四个16位的寄存器SP、BP、SI和DI组成。这些寄存器存放段内的偏移量,用来形成操作数的

存储地址。SP为堆栈指针、BP为基址指针、SI为源变址、DI为目标变址。SP和BP使用SS堆栈段。若不特别指明某个段,则被认为使用现行堆栈段。SP始终指向栈顶。BP可指向堆栈段的任意单元。SI和DI称为变址寄存器,通常与DS数据段一起使

用。串操作指令中,规定SI使用DS数据段,DI使用ES扩展数据段。2.寄存器组(2)段寄存器组段寄存器组由CS、DS、SS和ES四个16位的寄存器构成。表2-1-2段寄存器和现行段的对应关系寄存器含义隐含识别的现行段CS代码段寄存器现行代码段DS数据段寄存器现行数据段SS堆栈段寄存器ES附加

段寄存器现行附加段现行堆栈段2.寄存器组(2)段寄存器组(续)8086通过CS得到执行指令的段基地址,加上指令指针IP中的指令偏移量,产生20位的存储器地址。例如CS=4000H、IP=004AH。那么,20位物理地址应该是4004AH单元。40000CS代码段内容左移4位+004AIP的段内偏移

量4004AH下一条指令的存储地址操作数所在段,可以在指令前加段前缀,若缺省前缀,则规定使用DS。对于BP和SP,系统默认使用SS。2.寄存器组(3)指令指针16位的指令指针IP,用来存放下一条指令在CS中的偏移量。IP的内容由总线接口部件B

IU自动修改。指令顺序执行时,存放下一条待执行指令的偏移量;发生中断或调用时,BIU自动将IP的偏移量压入堆栈保存。程序不能直接访问IP。(4)标志寄存器16位的标志寄存器含有九个有效标志位,分为条件标志位/程序状态字和控制标志位两个部分。2.寄存器组(4)标志寄存器(续)151211109876

420OFDFIFTFSFZFAFPFCF图2-1-38086标志寄存器①条件标志位●CF进位标志位:运算中发生进位或借位时,CF为“1”;否则,CF为“0”。用STC指令可设置CF为“1”、CLC指令置CF为“0”、CMC指令对CF

求反;循环指令也会影响该标志位状态。2.寄存器组(4)标志寄存器(续)①条件标志位(续)●AF辅助进位标志位:在运算结果的低4位向高4位有进位或借位时,AF为“1”;反之,AF为“0”。●OF溢出标志位:运算结果超出机器

表示范围时,OF为“1”;否则,OF为“0”。带符号数的操作,若字节运算结果超过-128~+127范围或者字运算结果超过-32768~+32767范围时,OF为“1”。2.寄存器组(4)标志寄存器(续)①条件标志位(续)●ZF零标志

位:运算结果为零时,ZF为“1”;否则,ZF为“0”。●SF符号标志位:运算结果负数时,SF为“1”;否则,SF为“0”。●PF奇偶标志位:运算结果的低8位中有偶数个“1”时,PF为“1”;否则,ZP为“0”。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每执行完一条指令就产生一个内部中断。第三节引脚及其功能3.引脚及其功

能8086微处理器芯片采用双列直插式40条引脚的封装结构,设有20条的地址线和16条的数据线,如图2-1-4所示。为了减少芯片的引线,部分引脚具有双重功能,采用分时复用方式工作。GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0

NMIINTRCLKGND40393837363534333231302928272625242322211234567891011121314151617181920VCCA15A16/S3A17/S4A18/S5A19/S6SSO(HIGH)MN/MXRDHOLDHL

DAWR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET(RQ/GT0)(RQ/GT1)3.引脚及其功能(1)数据和地址总线●AD15~AD0地址/数据复用总线(输入/输出、

三态)。●A19/S6~A16/S3地址/状态复用总线(输出、三态)。●BHE/S7数据总线高位允许/状态复用引脚(输出、三态)。(2)控制和状态线●RD读控制(输出、三态)。●RAEDY外部准备就绪(输入)。3.引脚及其功能(2)控制和状态线(续)●INTR可屏蔽中断(输入)

。●TEST等待测试(输入)。●NMI不可屏蔽中断(输入)。●RESET系统复位(输入)。●CLK时钟(输入)。●Vcc(+5V)电源(输入)。●GND接地(输入)。●MN/MX最小/最大模式选择(输入)。3.引脚及其功能(3)最小模式(MN/MX=Vcc)控制和线状态●M/IO存

储器或输入/输出控制(输出、三态)。●WR写控制(输出、三态)。●INTA中断响应(输出)。●ALE地址锁存允许(输出)。●DT/R数据发送/接收(输出、三态)。●DEN数据传输允许(输出、三态)。●HOLD总线请求(输入)。●HLDA总线

响应(输出)。3.引脚及其功能(4)最大模式(MN/MX=GND)控制和线状态●S2、S1、S0总线周期状态(输出、三态)。●RQ/GT0、RQ/GT1总线请求/总线允许(输入/输出)。●LOCK总线锁定信号(输出、三态

)。●QS1、QS0指令队列状态(输出)。S2S1S0特性特性000中断响应100取指令001读I/O端口101读存储器010写I/O端口110写存储器011暂停111不作用第四节总线周期4.总线周期8086的时钟脉冲(CLK)由时钟发生器(如8284A)来提供,例如若机器的主频为10MH

z,那么一个时钟周期为100ns。8086CPU完成一个机器周期(将处理一条指令划分为几个不同的阶段,每个阶段称为一个机器周期)需要用四个时钟周期,即T1、T2、T3和T4状态。典型的一个总线周期操作如图2-1-5所示,图中RD信号表示读总线周期,WR信号表示写总线周期,DT/R和DE

N信号控制总线收发的传送方向和何时允许传送。4.总线周期A15~A0数据无效A15~A0数据无效A19~A16状态S7~S3A19-A16状态S7~S3图2-1-58086总线周期存储器访问期间CLKT1T2T3TwT4T1T2T3TwT4机器周期机器周期DT/RALEAD

DR/STATUSADDR/DATAS2~S0RD、INTAREADYWRDENWaitReady4.总线周期总线周期T1、T2、T3和T4的操作:①T1状态,CPU发送地址信号,指出存储单元或I/O端口地址。同时,发出地址锁存允

许信号ALE,地址送入地址锁存器。②T2状态,CPU撤销地址,为读入数据作准备。总线高4位输出总线周期状态信息。③T3状态,总线高4位信息状态不变,地址总线低16位输出数据或从I/O端口或存储器输入数据。若末准备就绪,插入等待状态Tw,直到准备就绪。④在T4状态,总线周期结束。第五节存

储器组织5.存储器组织(1)存储器基本结构8086存储器按字节编址,寻址范围为0~220-1,存储器最大容量为1MB。按0000H~0FFFFH编址,存储地址从低到高编址,如图2-1-6所示。地址存储器0000H

0段64KB0FFFH0F0000H15段64KB0FFFFFH图2-1-6存储器结构存储器中任何两个相邻的字节单元被定义为一个字,每个字节都有各自的字节地址。字节地址较小的作为字地址。字存放时,高位字节5.存储器组织(1)存储器基本结构(续)存放在高地址,低位字节存放在低

地址中。先存放低位字节,后存放高位字节。8086是以地址编址为单位访问的,对于奇地址编址存取操作,就必须访问存储器两次,并且还要作调整操作。因此,要求字编址应被2整除;双字编址应被4整除;字节地址没有要求。(2)存储器

地址的分段8086内部寄存器的宽度16位,寻址范围为64KB。为支持寻址20位物理空间,将1MB存储5.存储器组织(2)存储器地址的分段(续)空间划分成若干逻辑段,每个逻辑段最多包含64KB。逻辑段可在存储器中任意定义。逻辑段相互独立,可连续

或相互重叠。存储器代码段寄存器16位代码段216字节16位附加段寄存器附加段216字节堆栈段寄存器16位堆栈段216字节16位数据段寄存器数据段216字节图2-1-7存储器分段示例逻辑段基址能被16整除,各自有对应的段寄存器。由此,存储地址由段基址

和段内偏移量构成的,如图2-1-7所示。5.存储器组织(3)物理地址的形成CPU访问存储器的20位地址,就是物理地址。逻辑地址是程序地址,它由段基地址和偏移量组成。它们之间的地址变换公式为20位物理地址=段基址×24+偏移地址段基址000016位偏移量∑20位物理地址图2-1-8物理地址的形成

如图2-1-8所示,将段基址值左移4位,加上16位的偏移量,形成20位物理地址。地址变换是由BIU部件的地址加法器完成。5.存储器组织(4)8086存储器分体结构存储空间按奇地址和偶地址划分成两个存储体,每个

存储体容量为512KB。通过地址线AD0和数据总线高位允许BHE来选择存储体。当AD0=0和BHE=1时选偶地址存储体,与数据总线的低8位相连;当AD0=1和BHE=0时选奇地址存储体,与数据总线的高8位相连;在AD0=0和BHE=0时,偶地址存储体和奇

地址存储体同时工作。存储体的体内地址都是由A19~A16和AD15~AD1决定。如图2-1-9所示为存储体与总线的连接。5.存储器组织(4)8086存储器分体结构(续)D7~D0偶地址存储体SELA18~A0D7~D0奇地址存储体SELA18~A0数据DA7~DA0总线DA15~DA8

BHEAD0A19~A16、AD15~AD1图2-1-9存储体与总线连接图CPU与存储器的存取操作,偶地址的数据通过低8位数据总线、奇地址经高8位数据总线。传送一个字节,无论地址是偶数还是奇数,数据总线只能使用8位,另外8位被忽略掉

。第六节输入/输出组织6.输入/输出组织8086系统和外部设备进行数据通讯的连接电路叫接口,就是I/O芯片上的一个或若干个端口。每个端口都有独立的地址,分别对应一个寄存器。8086提供有64KB个8位端口,每个端口有惟一的编号,取值范围0000H~0FFFFH之间。相

邻的两个8位端口可组成一个16位端口。IN指令作读操作,CPU芯片引脚RD和M/IO同时为低电平状态;OUT指令作写操作,引脚WR和M/IO同时为低电平。端口寻址不使用段寄存器。第七节最小与最大模式系统

7.最小与最大模式系统(1)最小模式系统系统中只有一个微处理器,并且CPU芯片引脚MN/MX=Vcc时,这就是最小模式系统;此时,系统所有的控制信号全部由8086CPU提供。在最小模式系统中,除了CPU、存储器以及I/O接口电路外,还要配置时钟发生器、地址锁

存器和数据总线收发器等电路,如图2-1-10所示。7.最小与最大模式系统(1)最小模式系统(续)图2-1-108086最小模式系统配置8282×3OETSTBDO7~DO0DI7~DI0OEB7~B0A7~A08286×2控制

总线存储器I/O接口数据总线地址总线BHE+5V8284ACLKRESETREADYMN/MXALEBHEA19-A16AD15-AD08086DENDT/RM/IOWRHOLDHLDAINTRINTA7.最小与最大模式系统(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)最小模式系统(续)①时钟产生器8284A(续)X18284AX2CLKCLKF/CRESETRESETREADYREADY8

086EFIRDYRES控制总线图2-1-118284A时钟产生器与8086的连接8284A在F/C端接高电平时,可以直接使用脉冲发生器的信号。这时可将脉冲发生器的信号与芯片的EFI引脚相连。外部设备时钟可以提供占空比为1/2的外部时钟。7.最小与最大模式系统(

1)最小模式系统(续)②地址锁存器8282/8283由于地址和数据的复用,锁存器须带有三态缓冲。选通信号STB与CPU的ALE相连,STB有效时,输入端DI7~DI0上的8位数据被锁存。当OE有效时,锁存器输出;反之,为高阻状态。系统中,要用三片作地址锁存器。CPU在读/写总线周期T1状态

,将地址和BHE信号送到总线,并在ALE有效时,将地址锁存。7.最小与最大模式系统(1)最小模式系统(续)③数据总线收发器8286/82878286/8287芯片是8位的、输出带有三态控制的、双向驱动

的数据缓冲器。数据总线16位,需要用两片8286/8287芯片。OE引脚是芯片的输出控制,它与CPU的DEN相连。当OE=0时,允许;反之,禁止,并设置为高阻状态。T引脚是收、发方向控制,与CPU的DT/R相连。T=0时,A7~A0为输入;反之,输出。A7~A0直

接与数据总线相连。7.最小与最大模式系统(2)最大模式系统CPU芯片引脚MN/MX接地时,系统为最大模式。此时,系统是由多个微处理器/协处理器构成的多机系统。系统资源是由各处理器共享,控制信号是通过总线控制器来产生。系

统增加了总线控制器、总线裁决器,如图2-1-12所示。CPU输出的状态信息S2、S1、S0同时送到总线控制器和总线裁决器。总线裁决器负责控制总线使用权,并根据使用总线的优先权来分配使用。7.最小与最大模式系统(2)最大模式系统(续)CLKS2S1S08289AE

N图2-1-128086最大模式系统配置T8286OEA7~A0存储器I/O接口STB8282×3OEDI7~DI0CLKAENS2S1S0INTA8288MRDCDENMWTCDT/RIOWCALEIORC系统总线8284ARE

SETREADYCLKMN/MXS2S1S08086BHEA19-A16AD15-AD07.最小与最大模式系统(2)最大模式系统(续)①总线控制器8288图2-1-13给出了总线控制器8288的引脚,表2-1-7给出总线状态与输出信号的对应关系。表2-1-78288提供的总

线周期的输出信号S2S1S0CPU状态8288输出命令000中断响应INTA001读I/O端口IORC010写I/O端口IOWC、AIOWC011暂停无100取指令MRDC101读存储器MRDC110写存储器MWTC、AMWC111无作用无图2-1-13总线控制器8288引脚12345678910

20191817161514131211IOBCLKS1DT/RALEAENMRDCAMWCMWTCGNDVcc(5V)S0S2MCE/PDENDENCENINTAIORCAIOWCIOWC7.最小与最大模式系统(2)最大模式系统(续)①总线控制器8

288(续)●读存储器MRDC(输出)●写存储器MWTC和AMWC(输出)●读I/O端口IORC(输出)●写I/O端口IOWC和AIOWC(输出)●中断响应INTA(输出)7.最小与最大模式系统(2)最大模式系统②总线裁决

器8289●总线忙BUSY(输入/输出)●公共总线请求CBRQ(输入/输出)●总线优先权输出BPRO●总线优先权输入BPRN●总线请求输出BREQ●总线时钟信号输入BCLK图2-1-14总线裁决器8298引脚Vcc(5V)S

1S0CLKLOCKCRQLCKIANYRQSTAENCBRQBUSY1234567891020191817161514131211S2IOBSYSB/RESBRESBBCLKINITBREQBPROBPRNGND第57页2022/11/24上海第二工业大学丁新民1、指令的基本格式2

、寻址方式二、寻址方式第一节指令的基本格式1.指令的基本格式指令包括操作码和操作数两个部分,如图2-2-1所示。其中,操作码表示机器的命令,如传送、加、减等操作。操作数用来指出参加运算的数据地址,故又称地址码。操作码操作数图2-2-

1指令的基本格式操作数有零操作数、一操作数和二操作数三种形式。确定操作数存储地址的过程也不相同,称寻找操作数有效地址的方法为寻址方式。操作数有寄存器、存储器、立即数和输入输出端口四种类型。第二节寻址方式2.寻址方式(1)

立即数寻址指令所需的操作数直接包含在指令代码中,立即数可以是8位,也可以是16位。例如:MOVAX,1234HMOVAH,0ABH立即数作为指令的一部分直接从BIU的指令序列中取出,不需要占用总线周期,故执行速度快。但这种寻址方式的使用受到一定的限制。2.寻址方式(2)寄

存器寻址指令所需的操作数在CPU内的某个寄存器中,存取操作不占总线周期,执行速度快。指令中直接书写寄存器名,如AX、BX、AL、CH、DS、ES等,寄存器可以是8位或16位,同一条指令中,源操作数和目的操作数的位数要求必须相同。例如:MOVCL,ALMOVDH,BHMOVDX,CXM

OVDS,AX2.寻址方式(2)寄存器寻址(续)汇编语言源程序中,存储地址是以逻辑地址形式表示,即段基值和偏移量,其中,段基值在段寄存器,偏移量表示存储单元与段起始地址的偏移。有效地址由三个地址分量组合构成,三个地址分量是:①位移量指令中以变

量名或标号给出的8位或16位数。汇编后,这些操作数名的偏移量被转换为指令代码中的位移量。2.寻址方式(2)寄存器寻址(续)②基地址由基址寄存器BX或基址指针BP所提供。③变址由源变址SI或目的变址DI提供的内容。三个地址分量组合

时,若出现两个或两个以上分量时,则需进行以216为模的16位加法运算。正是因为三个地址分量的不同组合,才会出现对存储器操作数寻址的多种不同的寻址方式。2.寻址方式(3)直接寻址这是存储器寻址方式中最简单的,有效地址EA直接由位移量给出,如图2-2-2所示。这种方式不涉及其它寄

存器(段寄存器除外),主要用于存、取简单变量。在指令中,直接寻址方式可以用符号或常数来表示。操作码位移量EA图2-2-2直接寻址方式2.寻址方式(3)直接寻址(续)①用符号表示MOVBX,VAR该指令等价于:MOVBX,DS。它是将变量VAR(隐含使用段寄存器DS)所指的字单元内容传送给BX寄存

器。MOVCL,DA+3该指令是把由DA地址偏移三个字节单元的那个单元的内容送给CL寄存器。2.寻址方式(3)直接寻址(续)②用常数表示MOVAX,DS:[100H]该指令是把由当前数据段偏移100H个字节的那个字单元

的内容送给AX寄存器。注意:用常数表示位移量时,段寄存器必须指明,不能缺省。2.寻址方式(4)寄存器间接寻址操作数地址直接从基址或变址寄存器中获得,如图2-2-3所示。如:MOVAX,[BX]MOVBH,[BP]MOVCL,[SI]MOV[DI],B

X上述4条指令分别等价于:MOVAX,DS:[BX]MOVBH,SS:[BP]MOVCL,DS:[SI]MOVDS:[DI],BX操作码MODREGR/MBXBPEASIDI图2-2-3寄存器寻址方式2.寻址方式(5)基址寻址和变址寻址操作数的有效地址EA是基址或变址寄存器与指令中给

出的位移量两个地址分量之和,如图2-2-4所示。若使用BX或BP称基址寻址,使用SI或DI称变址寻址。使用BP时,隐含使用SS。其他,隐含使用DS。如:MOVAX,10[SI]MOVBX,ARRAY[BX]MOVTABLE[DI],AL操作

码MODREGR/M位移量BXBPEASIDI图2-2-4基址寻址和变址寻址方式2.寻址方式(6)基址变址寻址操作数的有效地址是三个地址分量之和,即基址寄存器,变址寄存器与位移量之和,如图2-2-5所示。两个地址分量可

以修改,是最为灵活的寻址方式。如:MOVAX,ARRAY[BX][SI]MOVBX,TABLE[BX][DI]MOVDATA[BP][SI],CXMOVWORR[BP][DI],DX注意:基址、变址寄存器只能选用其中一个。选用BP时,隐含使用SS;使用BX

,隐含使用的是DS。操作码MODREGR/M位移量BXBPEASIDI图2-2-5基址变址寻址方式2.寻址方式(7)串操作寻址方式串操作指令的操作数,只能隐含地使用变址寄存器。在寻找源操作数时,隐含使用

SI;寻找目的操作数时,隐含使用DI。串操作完成之后,自动对SI、DI的地址指针修改。增减根据标志寄存器的标志位DF。若DF为“0”,则SI、DI自动增量;否则,减量。若串操作是按字节进行的,增量/减

量都是1;若是按字进行的,增量/减量都是2。2.寻址方式(8)I/O端口寻址I/O端口与存储器是独立编址的,因此,设立专用的输入和输出指令。①直接I/O端口寻址方式用立即数形式直接给出端口号,它可对0~255个8位端口进行寻址。如:INAL,n;n为端口号IN

AX,nOUTn,ALOUTn,AX2.寻址方式(8)I/O端口寻址②间接I/O端口寻址方式用寄存器DX来指定I/O端口地址,可对0~65535个8位端口进行寻址。如:INAL,DXINAX,DXOUTDX

,ALOUTDX,AX这种寻址方式比较灵活,通过在程序中修改DX的内容,就可以用同一条输入/输出指令访问不同的I/O端口。本章小结1、8086微处理器是16位的单片处理器结构,它由总线接口部件BIU和执行部件EU两部分组成。处理器的数据总线宽度为16位,地址总线为20位,存储器

直接寻址空间能力达到1MB。2、8086的寄存器有:通用寄存器组、段寄存器、指令指针IP和标志寄存器FLAGS。逻辑地址转换成物理地址时,将段寄存器的段基址值左移四位(相当于乘16)再加上偏移量,最后形成物理地址的。此外,数据和堆栈的寻址全部都是采用段结构表示。3、8086系统的构成有最小模式和

最大模式。4、指令系统提供寄存器寻址、立即寻址、直接寻址、寄存器变址寻址、基址变址寻址等八种基本方式。欢迎提问!

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?