<汇编>七种寻址方式

1、立即寻址

注意点:

(1)常用于给寄存器或内存操作数寻址。

(2)只能用于源操作数,不能用于目标操作数。MOV 12H, AX(错误)

3种书写方式:

(1)可以用不同进制表示,须加上后缀

        16--H;若开头为A~F,须加0作为前缀

        10--D;若不加后缀默认十进制

        8--Q;

        2--B;

(2)是单引号括起来的字符,汇编后成为对应的ASCII码

(3)是用+-*/和括号表示的算术表达式,生成机器指令时把表达式算术结果作为实际操作数

栗子:

MOV AX,2550H    ;将2550H装入AX
MOV CX,625      ;将十进制数625装入CX
MOV BL,40H      ;将40H装入BL

2、寄存器寻址

16位操作数的寄存器可以是 AX,BX,CX,DX,SI,DI,SP,BP等;

8位操作数的寄存器可以是 AL,AH,BL,BH,CL,CH,DL,DH等.

寄存器寻址方式和立即数寻址方式不涉及内存访问,因而可以取得较高的运算速度.

栗子:

MOV BX,DX    ;将DX的内容复制到BX
MOV ES,AX    ;将AX中的内容复制到ES
ADD AL,BH     ;将BH中的内容加到AL

3、存储器操作数寻址

(1)直接寻址

逻辑地址写法:

(I)段寄存器名称:[偏移地址](少)

(II)段寄存器名称:变量名(多)

        栗子:

                MOV AX,DS:BUF     将数据段中名为BUF的存储单元中的数据送入AX

                也可省略段寄存器名称    MOV AX,BUF

(2)寄存器间接寻址(间接寻址、间址)

逻辑地址写法:

段寄存器名称:[间址寄存器]

段寄存器名称可省略不写的情况:BP寄存器约定的堆栈段SS  BX,SI,DI约定的数据段DS

栗子:

MOV AH,DS:[BX]    ;将DS:SI中的内容移到CL 等价于MOV AH,[BX]
MOV [DI],AH   ;将AH的内容移到DS:DI

(3)基址寻址

逻辑地址写法:

段寄存器名称:[基址寄存器+位移量]

段寄存器名称:位移量[基址寄存器]

基址寄存器只能是 BP(堆栈段) BX(数据段)同理可根据约定省略段寄存器

(4)变址寻址

逻辑地址写法:

段寄存器名称:[比例因子*变址寄存器+位移量] 

或  

段寄存器名称:位移量[比例因子*变址寄存器] 

无比例因子则删除比例因子

(5)基址加变址

段寄存器名称:[基址寄存器+比例因子*变址寄存器+位移量] 

或  

段寄存器名称:位移量[基址寄存器][比例因子*变址寄存器]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值