汇编的寻址方式

寻址的对象

程序是指令的集合,指令包括操作码和操作数。寻址可分为指令的寻址即表示下一条指令的位置,还有便是数据的寻址即操作数的寻址,只有找到这个操作数才能对数据进行操作。
下面图表示数据寻址的几种方式

 

16246589-9e4d661b810ce392.png

数据寻址总结.png

16246589-b6e14a9c37721419.png

数据寻址.png

 

我们可以看到数据的寻址可以分为以下几种

  • 立即数寻址:表示数据直接在指令中,这种方式的寻址是非常快的
  • 寄存器寻址:表示数据存储在寄存器中,指令中的操作数表示寄存器的名字
  • 存储器寻址:这种情况又可以分为几种类型,分为直接寻址表示操作数中存储的是目标数据的地址,寄存器间接寻址表示寄存器里面存储的是目标数据的地址,寄存器相对寻址。。。。
  • 外设I/O寻址:分为直接寻址和间接寻址

立即数寻址

立即数寻址表示数据在指令当中,目标数据可以直接得到,下面我们据一些常见的形式。

mov eax,12H

mov ax,'a'

lab:  mov eax 1
mov ebx,lab

varb byte 1,3H
mov eax,offset varb 

寄存器寻址

寄存器寻址表示目标数据在寄存器中,通过寄存器的名字来找到数据,寄存器寻址也是比较快速的,也是最常用的寻址方式,下面我们举一些例子进行说明。

mov eax,1H
mov eax,3
mov ax,'a'
这三种方式表示目标操作数为寄存器寻址,原操作数为立即数寻址

mov al,ah
mov al,bl
mov ax,bx
这三种表示原操作数和目的操作数为寄存器寻址

mov bvar,al
mov wvar,ax
mov dvar,eax
这三种方式表示原操作数为寄存器寻址,目的操作数为存储器寻址

存储器寻址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值