8086 CPU寻址方式

合集下载

微机原理

微机原理

1、微型计算机系统是由硬件系统和软件系统两部分组成。

2、从编程结构上看,8086CPU是由指令执行部件和总线接口部件两部分组成。

3、8086CPU有16根数据线,20根地址线,具有1MB字节的存储器寻址空间。

4、逻辑地址为2000H:1234H的存储单元的物理地址是21234H。

5、8086CPU写入一个规则字,数据线的高8位写入奇存储体,低8位写入偶存储体。

6、8086CPU有最小模式和最大模式两种工作模式,当MN/MX0V时,8086工作在最大模式。

7、CPU和外设之间的数据传送方式有:程序方式、中断方式和DMA方式三种。

(×)1、8088CPU与8086CPU一样,有16根数据线。

(×)2、段内转移指令执行结果要改变IP、CS的值。

(∨)3、在串操作指令执行时,若DF=0,则地址值会自动增加。

(×)4、8086CPU从内存中读取一个字(16位)必须用两个总线周期。

(×)5、MOV AX,[BP]的源操作数物理地址为16d ×(DS)+(BP)。

(×)6、指令MOV CS,AX是正确的。

(×)7、REP的判断重复条件是(CX)=0。

(×)8、指令RCR AL,2是错误的。

(√)9、当8086CPU响应中断时,会从INTA输出两个连续的负脉冲应答信号。

(√)10、堆栈指令的操作数均为字。

1、8086CPU复位后,程序的起始物理地址为:(B)A、00000HB、FFFF0HC、10000HD、F0000H2、8086CPU的中断相量表位于:(A)A、00000H~003FFH区B、10000H~103FFH区C、0F000H~0F3FFH区D、F0000H~F03FFH区3、8086CPU可屏蔽中断的使能位为:(B)A、DFB、IFC、TFD、PF4、下面哪个运算符是用来取地址的段值:(B)A、OFFSETB、SEGC、SEGMENTD、ASSUME 5、标志寄存器压栈指令为:(C)A、SAHFB、LAHFC、PUSHFD、POPF6、指令MOVSB的功能是:(A)A、将DS:[SI]所指出的存储单元的字节送到ES:[DI]所指出的存储单元。

第3章 8086的指令系统—3.1寻址方式

第3章 8086的指令系统—3.1寻址方式
EA=[基址寄存器]+([变址寄存器] *比例因子)+位移量 BX,BP SI,DI 1 0,8,16
例:(BX)=2000H,(SI)=1000H,偏移量=0250H,
则EA= 2000H+1000H+0250H=3250H
寻址目的
确定本条指令的操作数据 在指令中 PA:存储器内的绝对地址(20位) 在存储器中 EA:某个段内的相对地址(16位) 在寄存器中 确定下一条指令的地址 根据指令长度计算 根据转移指令的目标地址
寄存器名表示其内容(操作数)
MOV AX, BX
MOV AL, BH
;AX←BX
;AL←BH
演示
第3章: 3.1.3 存储器寻址方式
操作数在主存储器中,用主存地址表示 程序设计时,8088采用逻辑地址表示主存地址
段地址在默认的或用段超越前缀指定的段寄存器中 指令中只需给出操作数的偏移地址(有效地址EA)
演示
;AX←DS:[SI+06H]
第3章:4. 基址加变址寻址方式
有效地址由基址寄存器(BX或BP)的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] MOV AX, [BX][SI]
*微型计算机汇编语言特点 *微型计算机指令系统概述 *寻址方式
指令及其格式
指令及指令集 计算机能够识别和执行的基本操作命令
指令的作用
告诉CPU干什么?What? 告诉CPU从哪儿取数据?Where? 告诉CPU下一条指令在哪儿?Where? 操作码 操作数或操作数地址 指令的格式

楼第4章指令系统习题解答

楼第4章指令系统习题解答

楼第4章指令系统习题解答习题解答:1.什么是寻址模式?8086/8088 CPU的寻址模式是什么?答:指令的寻址方式就是指获得操作数所在地址的方法。

8086/8088cpu指令的寻址方式可分为8种,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。

2.指示源操作数和目标操作数在以下指令中的寻址方式(1)movax,[si]源操作数:寄存器寻址目的操作数:寄存器间接寻址(2)movdi,100源操作数:寄存器寻址目的操作数:立即寻址(3)mov[bx],al源操作数:寄存器间接寻址目的操作数:寄存器寻址(4)mov[bx+si],cx源操作数:基址变址寻址目的操作数:寄存器寻址(5)adddx,106h[si]源操作数:寄存器寻址目的操作数:寄存器相对寻址3.阅读以下说明(1)sti对(2)call1000h错(3)divax,dl错(4)shlal,4错(5)popax对(6)inal,[30h]错(7)inccs错(8)out40h,al对4.地址是根据已知的物理条件计算的。

已知:SS=1000h,ES=2000h,DS=3000h,CS=4000H,BX=5000h,di=1200h,BP=2300h(1)(2)(3)(4)(5)5.将SP的初始值设置为2400h,ax=4000H,BX=3600h,然后在执行pushax指令后,SP=?,执行pushbx和popax后,SP=?答:则执行指令pushax后,sp=2400h-2=23feh,再执行pushbx和popaxMovax,[2300h]计算公式:DS×16+2300hmov[BX][di],ax计算公式:DS×16+BX+diaddax,es:[2100h]计算公式:es×16+2100hsubdx,[BP+6]计算公式:SS×16+BP+6movax,[di]计算公式:DS×16+di后sp=23feh。

8086中的七种寻址方式

8086中的七种寻址方式

8086中的七种寻址⽅式寻址⽅式8086/8088有七种基本的寻址⽅式:⽴即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。

其中,后五种寻址⽅式(即直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址)属于存储器寻址,⽤于说明操作数或操作数地址所在存储单元的地址。

这五种⽅式也就是确定存放操作数的存储单元有效地址EA的⽅法,这⾥所说的有效地址就是在前⾯⼀节讲存储器分段中所说的段内偏移地址。

除了这些基本的寻址⽅式以外,还有固定寻址和I/O端⼝寻址等,但不会在本节中介绍到。

基本寻址⽅式下⾯重点说⼀下这七种基本寻址⽅式的特点:1. ⽴即寻址⽅式先解释⼀个概念,叫做⽴即数。

操作数包含在指令中,它作为指令的⼀部分,跟在操作码后存放在代码段。

这种操作数称为⽴即数。

⽴即寻址⽅式所提供的操作数紧跟在操作码后⾯,与操作码⼀起放在指令代码段中,不需要到其他地址单元中去取。

⽴即数可以是8位,也可以是16位。

这种寻址⽅式主要⽤于给寄存器或存储单元赋初值的场合。

⽴即寻址⽅式是这七种寻址⽅式中速度最快的寻址⽅式。

举例:MOV AX, 1234H ; 给AX寄存器赋值为1234H2. 寄存器寻址⽅式寄存器寻址的特点是操作数在CPU内部的寄存器中,在指令中指定寄存器号。

对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI和SP等;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH。

例如:MOV SI, AXMOV AL, DH由于操作数在寄存器中,不需要通过访问存储器来取得操作数,所以采⽤寄存器寻址⽅式的指令执⾏速度较快。

3. 直接寻址⽅式直接寻址的操作数在存储器中,指令直接包含有操作数的有效地址。

由于操作数⼀般存放在数据段,所以操作数的地址由DS加上指令中给出的16位偏移得到。

假如DS内容是5000H,地址为51234H字存储单元中的内容时6789H,那么在执⾏“MOV AX, [1234H]”后寄存器AX的内容是6789H。

第二章 80868088寻址方式和指令系统

第二章 80868088寻址方式和指令系统

(5)奇偶标志PF
用于反映运算结果中“1”的个数。如果“1”的个数为偶数,则OF被置1,否则OF被清0。
(6)辅助进位标志AF
在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字 节进位或借位,则辅助进位标志AF被置1,否则AF被清0。
②状态控制标志
(1)方向标志DF
方向标志决定着串操作指令执行时,有关指针寄存器调整方向。 当DF为1时,串操作指令按减方式改变有关的存储器指针值, 当DF为0时,串操作指令按加方式 改变有关的存储器指针值。
其中:存储单元的物理地址是12345H, 标出的:两个重叠段的段值分别是:1002H和1233H, 在对应段内的偏移分别是2325H和0015H。
采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移可由指令指针IP、堆栈指针SP 和其他可作为存储器指针使用的寄存器(SI、DI、BX和BP)给出,偏移还可直接用16位数给 出。
图中指令存放在代码段中,OP表示该指令的操作码部分 再例如: MOV AL,5 则指令执行后,(AL)=05H
MOV BX,3064H 则指令执行后, (BX)=3064H
2、寄存器寻址方式
操作数在CPU内部的寄存器中,指令指定寄存器号。
对于16位操作数数,寄存器可以是:
AX、BX、CX、DX、SI、DI、SP和BP等;
指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动 形成20位物理址。
3、段寄存器的引用
由于8086/8088CPU有四个段寄存器,可保存四个段值。所以可同时使用四个段值,但这四个 段有所分工。
在取指令的时候,自动引用代码段寄存器CS,再加上由IP所给出的16位偏移,得到要取指令 的物理地址。

微机原理试题及答案1

微机原理试题及答案1

微机原理试题库试题1一、填空题(24分)1、8086CPU寻址外设可以有两种方式,一种是寻址方式,另一种是寻址方式。

2、CPU在执行IN AL,DX指令时,M/引脚为电平,为电平。

3、微型计算机的组成4、CPU访问存储器进行读写操作时,通常在状态去检测READY ,一旦检测到READY无效,就在其后插入一个周期。

5、8086/8088系统中,存储器是分段的,每段最大长度是字节,段内偏移地址从到。

6、汇编语言源程序中的语句有三种类型,它们是语句,语句,语句。

7、一片8259A可管理级中断,经过级连最多可扩展为管理级中断。

8259A有个方式选择控制字和操作命令字。

8、CPU与外设之间的连接部件称为,它的基本功能是和。

9、数据的输入/输出指的是CPU与进行数据交换。

10、当8255A口工作在方式1输出时,A口输入信号联络线的名称是,输出信号联络线的名称是。

二、选择题(12分)1、设A=186,B=273Q,C=0BBH,它们之间的关系是。

A)A>B>C B)A<B<C C)A=B=C D)A<B=C2、8086CPU用ALE的下降沿将T1期间出现的信息锁存在外部地址锁存器中A) A0~A19 B) C) A和B D) D0~D153、下列四条指令中错误的是。

A)MOV AX,[SI] B)MOV AX,[BP+DI] C)MOV AX,[DI] D)MOV AX,[BP—DI]4、在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有。

A)SS,SP,BP B)SS,SP,BXC)DS,BX,BP D)DS,SP,BP5、.EXE文件产生在之后。

A)汇编 B)编辑 C)用软件转换 D)连接6、由2732芯片组成64KB的存储器,则需要块芯片和根片内地址线。

A)12 B)24 C)16 D)147、若8259A工作在优先级自动循环方式,则IRQ3的中断请求被响应并且服务完毕后,优先权最高的中断源是。

8086汇编各种寻址方式大全

8086汇编各种寻址方式大全

各种寻址方式1. 立即寻址:直接放在指令中的常数称为立即数,立即数只能是源操作数,立即数存放在指令操作码之后的存储单元中。

例:MOV AL,50HMOV DS, 1250H 错误2. 寄存器寻址:存放在寄存器中的数据为操作数,寄存器操作数可以是源操作数,也可以是目的操作数。

例:MOV AL,BLMOV CL, BX 错误以下寻址方式3~8,操作数都在存储器中。

存储器操作数具有类型属性,如字节(BYTE)、字(WORD)、双字(DWORD)等,反映了数据占用存储单元的字节数,指令书写中,约定用方括号内容表示存储器操作数的偏移地址;用类型名 PTR 偏移地址的形式说明指令中存储器操作数的类型,例:WORD PTR [1000H];用变量名DB/DW/DD数据序列的形式分别定义具有“变量名”的字节、字或双字存储器操作数,如BUF DB 10H,20H。

3. 存储器寻址(1)直接寻址:存储器操作数的16位偏移地址直接包含在指令的方括号中。

例:MOV AL,[1000H] 约定由DS提供段地址MOV AL,CS:[1000H] ;段超越,由CS提供段地址MOV AL,SS:[1000H] ;段超越,由SS提供段地址例:MOV AX, [2000H] 如果(DS)= 3000H,则AX的物理首地址为:3000*10+2000(2)寄存器间接寻址:操作数所在的存储单元的偏移地址放在指令给出的寄存器中。

可用于这种寻址方式的寄存器只能是SI、DI、BP和BX。

其中,SI、DI、BX约定的段寄存器是DS,而BP约定的段寄存器SS。

例:MOV AX,[SI] ;AX←DS:[SI]MOV [BX],AX ;DS:[BX]←AX例:MOV AX, [BX]如果(DS)= 2000H, (BX)= 1000H,则物理地址 = 20000H + 1000H = 21000H(3)寄存器相对寻址这种寻址方式通过基址寄存器BX、BP或变址寄存器SI、DI与一个位移量相加形成有效地址,计算物理地址的缺省段仍然是SI、DI和BX为DS,BP为SS。

8086 CPU的七种基本的寻址方式

8086 CPU的七种基本的寻址方式
MOV AX, [SI]
MOV [BP], CX
5. 寄存器相对寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)内容加上指令中给定的8位或16位位移量之和。即:
EA = (BX/BP/SI/DI) + (8/16位位移量)
例如:MOV AX, [DI+1223H]
MOV BX, [BP-4]
MOV ES:[BX+5], AL
注意:书写时基址或变址寄存器名一定要放在方括号中,而位移可以不写在方括号中。#43;3] 等价于 MOV AX, 3[SI]
6. 基址加变址寻址:操作数在存储器中,操作数的有效地址由基址寄存器之一的内容与变址寄存器之一的内容相加得到。
EA = (BX/BP) + (SI/DI)
在不使用换段前缀的情况下,若BP的内容作为有效地址的一部分,则以SS的值为段值;否则以DS的值为段值。有效地址超过FFFFH,则对其进行64K取模。例如:
8086 CPU的七种基本的寻址方式.txt逆风的方向,更适合飞翔。我不怕万人阻挡,只怕自己投降。你发怒一分钟,便失去60分钟的幸福。忙碌是一种幸福,让我们没时间体会痛苦;奔波是一种快乐,让我们真实地感受生活;疲惫是一种享受,让我们无暇空虚。生活就像"呼吸""呼"是为出一口气,"吸"是为争一口气。8086 CPU的七种基本的寻址方式
在不使用换段前缀的情况下,若SI/DI/BX的内容作为有效地址的一部分,则以DS的值为段值;若BP的内容作为有效地址的一部分,则以段寄存器SS的值为段值。
在指令中给定的8位或16位位移量以补码形式表示。在计算有效地址时,若位移量是8位,则将其有符号扩展为16位,当有效地址超过FFFFH,则对其进行64K取模。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8086 CPU的七种基本的寻址方式
分别是:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址
1. 立即寻址:操作数包含在指令中,是指令的一部分。

此时的操作数称为立即数
MOV AX, 1234H
2. 寄存器寻址:操作数在CPU寄存器中,指令中指定寄存器编号
MOV SI, AX
MOV AL, AH
3. 直接寻址:操作数在存储器中,指令直接包含操作数的有效地址。

此时操作数一般存放在数据段DS中,采用换段前缀可以使用其它段寄存器。

MOV AX, [1234H]
4. 寄存器间接寻址:操作数在存储器中,操作数有效地址在SI、DI、BX、BP之一种。

在不使用换段前缀的情况下,若有效地址在SI/DI/BX中,则以DS的值为段值;若有效地址在BP中,则以段寄存器SS的值为段值。

MOV AX, [SI]
MOV [BP], CX
5. 寄存器相对寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)内容加上指令中给定的8位或16位位移量之和。

即:EA = (BX/BP/SI/DI) + (8/16位位移量)
在不使用换段前缀的情况下,若SI/DI/BX的内容作为有效地址的一部分,则以DS的值为段值;若BP的内容作为有效地址的一部分,则以段寄存器SS的值为段值。

在指令中给定的8位或16位位移量以补码形式表示。

在计算有效地址时,若位移量是8位,则将其有符号扩展为16位,当有效地址超过FFFFH,则对其进行64K取模。

例如:MOV AX, [DI+1223H]
MOV BX, [BP-4]
MOV ES:[BX+5], AL
注意:书写时基址或变址寄存器名一定要放在方括号中,而位移可以不写在方括号中。

下面两条指令是等价的:
MOV AX, [SI+3] 等价于MOV AX, 3[SI]
6. 基址加变址寻址:操作数在存储器中,操作数的有效地址由基址寄存器之一的内容与变址寄存器之一的内容相加得到。

EA = (BX/BP) + (SI/DI)
在不使用换段前缀的情况下,若BP的内容作为有效地址的一部分,则以SS的值为段值;否则以DS的值为段值。

有效地址超过FFFFH,则对其进行64K取模。

例如:MOV AX, [BX+DI] 等价形式MOV AX, [DI][BX]
MOV AX, ES:[BX+SI]
MOV DS:[BP+SI], AL
7. 相对基址加变址寻址:操作数在存储器中,操作数的有效地址由基址寄存器之一的内容与变址寄存器之一的内容以及指令中给定的8位或16位位移量相加得到。

EA = (BX/BP) + (SI/DI) + (8/16位位移量)
在不使用换段前缀的情况下,若BP的内容作为有效地址的一部分,则以SS的值为段值;否则以DS的值为段值。

有效地址超过FFFFH,则对其进行64K取模。

例如:MOV AX, [BX+DI+1234H]
MOV AX, 1234H[BX+DI]
MOV AX, 1234H[BX][DI]
MOV AX, 1234H[DI][BX]。

相关文档
最新文档