常用寻址方式介绍

寻址方式

  • 立即数寻址方式
 MOV BL,80H                                          
 MOV AX,1090H
 功能:立即数寻址方式只能作为源操作数,主要用来给寄存器或存储单元 值
 说明:该寻址方式所提供的操作直接包含在指令中,紧跟在操作码之后,他为指令的一部分,这种操作数称为立即数

在这里插入图片描述

注意:操作数在内存中按照小端法规则存放,即低字节存低地址,高字节存高地址

  • 寄存器寻址方式
  MOV CL,DL
  MOV AX,DX
  说明:寄存器寻址方式由于操作数就在CPU内部的寄存器中,不需要访问存储器来取得操作数,因而可以取得较高的运行速度

在这里插入图片描述

  • 存储器寻址方式
  1. 直接寻址方式:
  MOV AL,[1064H]
  说明:直接寻址方式是指操作数在存储器中,操作数的有效地址(16位偏移量)直接包含在指令中。操作数的地址是段寄存器DS或ES中的内容乘以16后,加上指令给出的16位地址偏移量。
  功能: 直接寻址方式适合于处理单个数据变量。

在这里插入图片描述

  1. 寄存器间接寻址
  MOV AX,[SI]
  MOV [BX],AL
  说明:寄存器间接寻址是将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数

在这里插入图片描述

  1. 寄存器相对寻址
  MOV [SI+10H],AX
  MOV CX,[BX+COUNT]
  说明:该寻址方式是以指定的寄存器内容,加上指令中给出的位移量(8位或16位),并以一个段寄存器为基准,作为操作数的地址。指定的寄存器一般是一个基址寄存器或变址寄存器。

在这里插入图片描述

  1. 基址变址寻址方式
  MOV [BX+DI],AX
  MOV AH,[BP][SI]
  说明:基址加变址寻址方式是指将寄存器(该寄存器一般指基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址

在这里插入图片描述

  1. 基址变址相对寻址
  MOV AX,[BX+SI+COUNT]
  MOV AX,[BX][SI+COUNT]
  MOV AX,[BX][SI]+COUNT
  MOV AX,[BX+SI]COUNT
  MOV AX,[BX][SI]COUNT
  MOV AX,COUNT[BX][SI]
  说明:在相对基址变址寻址方式中,通常把BX和BP看作是基址寄存器,把SI和DI看作变址寄存器。它是把一个基址寄存器BX或BP的内容,加上变址寄存器SI或DI的内容,再加上指令中给定的8位或16位位移量,并以一个段寄存器作为地址基准,作为操作数的地址。

注意:当基址寄存器为BX时,段寄存器使用DS,当基址寄存器为BP时,段寄存器则用SS。
6. I/O端口寻址方式

  • 端口直接寻址
  IN AL,21H
  • 端口间接寻址
  MOV DX,120H
  OUT DX,AX
  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值