【汇编语言】 寻址方式

【汇编】 寻址方式

一、立即数寻址

立即数 操作数包含在指令中,它作为指令的一部分,跟在操作码后存放在代码段,这种操作数成为立即数

​ 立即寻址方事所提供的操作数紧跟在操作码后面,与操作码一起放在指令代码段中,不需要到其他地址单元中去取。立即数可以是8位,也可以是16位。这种寻址方式主要用于给寄存器或存储单元赋初值的场合。立即寻址方式是这七种寻址中速度最快的寻址方式

MOV AX, 34H	; 源操作数是直接寻址方式

二、寄存器寻址

寄存器寻址的特点是操作数在CPU内部的寄存器中,在指令中指定寄存器号。

由于操作数在寄存器中,不需要通过访问存储器来取得操作数,所以采用寄存器寻址方事的指令执行速度较快

MOV AX, DS
MOV AX, 34H	; 目的操作数是寄存器寻址方式
MOV AX, BX	; 目的操作数和源操作数都是寄存器寻址方式

三、直接寻址

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

MOV AX,[0001H]

四、寄存器间接寻址

寄存器间接寻址的操作数在存储器中,操作数有效地址在寄存器中

  • 若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS;
  • 若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。
MOV SI, 0001H
MOV AX, [SI]

MOV BX, 0001H
MOV AX, [BX]

五、寄存器相对寻址

该寻址方式是以指定的寄存器内容,加上指令中给出的位移量(8位或16位),并以一个段寄存器为基准,作为操作数的地址。指定的寄存器一般是一个基址寄存器或变址寄存器

MOV SI, 0001H
MOV AX, [SI+100H]

MOV BX, 0001H
MOV AX, [BX+100H]

六、基址变址寻址

操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。其有效地址的计算公式如下图所示。

在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS;否则,缺省的段寄存器为DS。
运算有效地址方式

七、相对基址变址寻址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值