您的位置:首页 > 其它

8086的寻址方式

2016-10-07 10:00 218 查看
咳咳,今天偷一下懒,我先更新一下8086的寻址方式,等明天再为大家更新新的东西。

一、寻址方式

形成操作数或指令地址的方式,称为寻址方式。

寻址方式分为两类:

•指令寻址方式、操作数寻址方式

操作数的寻址方式:


•形成操作数的有效地址(EA)的方法

在8086/8088中,操作数在内存中的有效地址是段的偏移地址。



1)立即数寻址方式

操作数作为指令的一部分存放在操作码之后的内存单元中这种操作数被称为立即数
8位数值(00H~FFH)
16位数值(0000H~FFFFH)
立即数寻址方式常用来给寄存器赋值

2)寄存器寻址方式

操作数存放在CPU的内部寄存器中

8位寄存器:

AH、AL、BH、BL、CH、CL、DH、DL

16位寄存器:

AX、BX、CX、DX、SI、DI、BP、SP

4个段寄存器:

CS、DS、SS、ES

3)直接寻址方式

有效地址在指令中直接给出,操作数默认在数据段

4)寄存器间接寻址方式

有效地址在寄存器SI/DI/BX/BP中
若在SI、DI、BX中,则操作数默认在数据段
若在BP中,则操作数默认在堆栈段

5)寄存器相对寻址方式

有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP、SI、DI

EA=[BX]/[BP]/[SI]/[DI]+8/16位位移量
对应BX/SI/DI,则操作数默认在数据段
对应BP,则操作数默认在堆栈段

6)基址变址寻址方式

有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:

EA=[BX]/[BP]+[SI]/[DI]

7)相对基址变址寻址方式

有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和:

EA=[BX]/[BP]+[SI]/[DI]+8/16位位移量

说明:

位移量可以用符号表示

同一寻址方式可以写成不同的形式: MOV AX,[BX][SI] ;

等同于 MOV AX,[BX+SI] MOV AX,COUNT[SI] ;

等同于 MOV AX,[SI+COUNT] MOV AX,WNUM[BX][SI] ;

等同于 MOV AX,WNUM[BX+SI] ;

等同于 MOV AX,[BX+SI+WNUM]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编语言