操作数作为指令的一部分直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。
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]