常用寻址方式介绍
Posted 她还会来吗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用寻址方式介绍相关的知识,希望对你有一定的参考价值。
寻址方式
立即数寻址方式
MOV BL,80H
MOV AX,1090H
功能:立即数寻址方式只能作为源操作数,主要用来给寄存器或存储单元 值
说明:该寻址方式所提供的操作直接包含在指令中,紧跟在操作码之后,他为指令的一部分,这种操作数称为立即数
注意:操作数在内存中按照小端法规则存放,即低字节存低地址,高字节存高地址
、
寄存器寻址方式
MOV CL,DL
MOV AX,DX
说明:寄存器寻址方式由于操作数就在CPU内部的寄存器中,不需要访问存储器来取得操作数,因而可以取得较高的运行速度
存储器寻址方式
直接寻址方式
:
MOV AL,[1064H]
说明:直接寻址方式是指操作数在存储器中,操作数的有效地址(16位偏移量)直接包含在指令中。操作数的地址是段寄存器DS或ES中的内容乘以16后,加上指令给出的16位地址偏移量。
功能: 直接寻址方式适合于处理单个数据变量。
寄存器间接寻址
MOV AX,[SI]
MOV [BX],AL
说明:寄存器间接寻址是将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数
寄存器相对寻址
MOV [SI+10H],AX
MOV CX,[BX+COUNT]
说明:该寻址方式是以指定的寄存器内容,加上指令中给出的位移量(8位或16位),并以一个段寄存器为基准,作为操作数的地址。指定的寄存器一般是一个基址寄存器或变址寄存器。
基址变址寻址方式
MOV [BX+DI],AX
MOV AH,[BP][SI]
说明:基址加变址寻址方式是指将寄存器(该寄存器一般指基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址
基址变址相对寻址
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
以上是关于常用寻址方式介绍的主要内容,如果未能解决你的问题,请参考以下文章
Unity 之 Addressable可寻址系统 -- 代码加载介绍