8086的寻址方式

寄存器对应关系

CS:IP SS:SP SS:BP DS:BX DS:SI DS:DI ES:DI

寻址方式
  • 立即寻址

    MOV CL , 05 MOV AX , 3100H

    用于寄存器赋初值 ,特点是速度快,不需要总线周期,立即数
    只能是整数(8位或16位)

  • 寄存器寻址

    MOV BX , AX

    INC CX

  • 直接寻址

    CS=5100H, DS=2000H
    MOV AX , [3100H] ;将物理地址为3100H的内存单元中的数据存入AX
    MOV BX, CS:[3000H] ;BX=51000+3000=54000H

  • 寄存器间接地址

    MOV AX , [BX] ;因BX与DS匹配,故将DS*16后+BX中存取的数据,再将经此运算后得到的物理地址中所存放的数据存放到 AX中

  • 变址寻址

    当DS=2000H,SI=1000H时

    MOV BX,[SI+1234H] ;物理地址=20000+1000+1234=22234H,再将此物理地址中存放的数据存放至BX中

  • 基址寻址

    与变址类似,只是使用的寄存器不同而已,BX指数据段,BP指堆栈段

    MOV SI, DATA[BX] ;物理地址=DS*16+BX+DATA

    MOV BLOCK[BP],AX ;物理地址=SS*16+BP+BLOCK

  • 基址变址寻址

    若基址寄存器为BX,则段址寄存器应使用DS,物理地址=DS*16+BX+SI或=DS * 16+BX+DI

    若基址寄存器为BP,则段址寄存器应使用SS,物理地址=SS*16+BP+SI或=SS * 16+BP+DI

  • 相对基址变址寻址

    MOV AX,MASK[BX] [SI]

    设DS=2000H,BX=1500H,SI=0300H,MASK=0200H,(21A00H)=26BFH

    物理地址=DS*16+BX+SI+MASK=20000H+1500H+0300H+0200H=21A00H

    执行结果:AX=26BFH

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值