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]


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值