Alguém poderia explicar o que isso significa? (Intel Sintaxe, x86, Windows)
and dword ptr [ebp-4], 0
A dword ptr
parte é chamada de diretiva de tamanho. Esta página os explica, mas não foi possível direcionar o link para a seção correta.
Basicamente, significa "o tamanho do operando de destino é de 32 bits", portanto, isso vai bit a bit-AND o valor de 32 bits no endereço calculado pegando o conteúdo do ebp
registrador e subtraindo quatro com 0.
PTR
peça é necessária? O dword não é suficiente para codificar o tamanho? NASM não usaptr
AFAIK.Modern processors, including embedded systems, usually have a word size of 8, 16, 24, 32, or 64 bits, while modern general purpose computers usually use 32 or 64 bits.
en.wikipedia.org/wiki/Word_(computer_architecture)Considere a figura incluída nesta outra questão .
ebp-4
é sua primeira variável local e, visto como um ponteiro dword, é o endereço de um inteiro de 32 bits que deve ser apagado. Talvez sua fonte comece comfonte
É uma declaração de 32 bits. Se você digitar no início de um arquivo de montagem a instrução [bits 32], não será necessário digitar DWORD PTR. Então, por exemplo:
fonte