汇编指令中寻址方式汇总

it2024-12-22  8

文章目录

立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址加变址寻址相对基址变址寻址

立即寻址

操作数作为指令的一部分直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。

mov eax, 10h

直接寻址

在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址。

mov eax, [0x00304C18h]

寄存器寻址

操作数在寄存器中,在指令中直接使用寄存器号的方式称为寄存器寻址。

mov eax, [esi]

寄存器间接寻址

操作数在存储器中,操作数有效地址在esi,edi,ebx,ebp这四个寄存器之一中。

一般情况下,如果有效地址在esi,edi,ebx中,则以ds寄存器之内容位段值。如果有效地址在ebp中,则以ss段寄存器之内容位段值。

mov eax, es:[ebx] ;AX = ES x 16d + BX

寄存器相对寻址

操作数在存储器中,操作数的有效地址是一个寄存器(ebx,ebp)或变址寄存器(esi,edi)加上一个偏移数值之和。

mov eax, [esi+0Ch]

基址加变址寻址

操作数在存储器中,操作数的有效地址是:基址寄存器(ebx,ebp)与变址寄存器(esi,edi)相加之和。

mov eax, [ebp+esi]

相对基址变址寻址

操作数在存储器中,操作数的有效地址是:基址寄存器(ebx,ebp)、变址寄存器(esi,edi)与偏移数值相加之和。

mov eax, [ebx+edi-18h]
最新回复(0)