8086的寻址方式

本文详细介绍了计算机汇编语言中的寻址方式,包括立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、基址变址和相对基址变址,强调了各种方式的使用规则和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、寻址方式

1.指令的基本格式:

操作码操作数.......操作数

        操作数字段可以为0个、一个、二个或三个。对应的称为零地址指令、一地址指令、二地址指令或三地址指令。

二、数据寻址方式

  • 立即寻址方式                    MOV     AX  , 2000H
  • 寄存器寻址方式                MOV     AX  ,  BX
  • 直接寻址方式                    MOV     AX  ,    [2000H]
  • 寄存器间接寻址方式         MOV     AX  ,    [BX]
  • 基址变址寻址方式             MOX AX,[BX][SI]
  • 寄存器相对寻址方式         MOX AX,ARRAY[BX]
  • 相对基址变址寻址方式      MOX   AX,ARRAY[BX][DI]
  • 比例变址寻址方式             MOX EAX,[EBX+4*ECX]         

                                                 MOX EAX,ARRAY[4*ECX]   

                                                 MOX AX,[EBX+2*EDI]

三、详述

在汇编语言中,用"[]"表示存储单元的内容

(1)立即寻址方式

 操作数直接存放在指令中

注意:

  • 该寻址方式只能用在SRC(即源操作数)的寻址上,不能用于DST
  • SRC和DST的字长(位数)要一致

(2)寄存器寻址方式

操作数在寄存器中,指令指定寄存器号

注意:

  • SRC和DST的字长(位数)要一致
  • DST不能为CS

 (3)直接寻址方式

(4) 寄存器间接寻址方式

(5)寄存器相对寻址方式

       有效地址时寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX/BP/SI/DI+8/16位位移量。其中,BX/SI/DI寄存器默认数据段DS,BP寄存器默认堆栈段SS。 

 

(6)基址变址寻址方式

当得到的有效地址超过FFFFH时,要取其64k的模。 

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

       使用基址寄存器(BX/BP)和变址寄存器(SI/DI),还在指令中指定一个8/16位的位移量,这三者之和构成操作数的有效地址EA,即EA=BX/BP+SI/DI+8/16位的位移量。与BX寄存器约定的段为数据段DS,与BP寄存器约定的段为堆栈段SS

       指令中的位移量采用补码表示,如果是8位,则被带符号扩展到16位。如果得到的有效地址EA超过FFFFH,则取其64K的模

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值