assembly - What does push dword ptr [eax+22] mean? -


i know e.g. push eax save eax stack , decrement esp 4. , push dword ptr means needs push 4 bytes, i'm confused. if [esi+22] same thing?

the push instruction, many other x86 instructions, can take variety of operands: immediate values, registers, , memory addresses:

push 10                 ; pushes value 10 (32 bits in 32-bit mode) push eax                ; pushes contents of 32-bit register eax push dword [ebx + 42]   ; pushes 32 bits memory location ebx + 42 

the register form infers size size of register. memory form needs have size specified (e.g. here shown in intel syntax). immediate values, operand size either 16 or 32 bits; current mode default, , other size can explicitly selected (e.g. push word 10 in 32-bit mode).


Comments

Popular posts from this blog

python - Subclassed QStyledItemDelegate ignores Stylesheet -

java - HttpClient 3.1 Connection pooling vs HttpClient 4.3.2 -

SQL: Divide the sum of values in one table with the count of rows in another -