O que significa `dword ptr`?


123

Alguém poderia explicar o que isso significa? (Intel Sintaxe, x86, Windows)

and     dword ptr [ebp-4], 0

Respostas:


119

A dword ptrparte é 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 ebpregistrador e subtraindo quatro com 0.


72
O "d" em "dword" significa "duplo". Uma palavra tem 16 bits.
JeremyP

Para obter mais referências, visite este link
Alex Mathew

25
Por que a PTRpeça é necessária? O dword não é suficiente para codificar o tamanho? NASM não usa ptrAFAIK.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
@JeremyP A palavra significa está mudando de acordo com os processadores. Depois de ler este artigo, você pode dizer novamente palavra tem 16 bits ou você está apenas definindo o significado simples de palavra que significa dois bytes? 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)
uzay95

6
@ uzay95 A questão está marcada como "x86", portanto, estamos falando especificamente sobre a arquitetura Intel x86, na qual uma palavra tem 16 bits de largura. De acordo com seu artigo, mesmo o x86_64 tem um tamanho de palavra de 16 bits.
JeremyP


3

É 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:

[bits 32]
.
.
and  [ebp-4], 0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.