常用寻址方式介绍

Posted 她还会来吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用寻址方式介绍相关的知识,希望对你有一定的参考价值。

寻址方式

  • 立即数寻址方式
 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

以上是关于常用寻址方式介绍的主要内容,如果未能解决你的问题,请参考以下文章

(计算机组成原理)第四章指令系统-第二节3:数据寻址之偏移寻址(基址寻址变址寻址和相对寻址)

8086中的七种寻址方式

什么是ip寻址

变址寻址的ip寻址的方式

汇编第一节-寄存器与内存寻址

8088/8086的数据寻址方式