"Dword ptr" ne anlama geliyor?


123

Birisi bunun ne anlama geldiğini açıklayabilir mi? (Intel Sözdizimi, x86, Windows)

and     dword ptr [ebp-4], 0

Yanıtlar:


119

dword ptrBölüm bir boyut direktifi denir. Bu sayfa onları açıklıyor, ancak doğru bölüme doğrudan bağlantı kurmak mümkün değildi.

Temel olarak, "hedef işlenenin boyutu 32 bittir" anlamına gelir, bu nedenle bu, ebpyazmaç içeriğini alıp 0 ile dördü çıkararak hesaplanan adresteki 32 bitlik değeri bit düzeyinde VE olacaktır .


72
"Dword" deki "d", "çift" anlamına gelir. Bir kelime 16 bittir.
JeremyP

Daha fazla referans için bu bağlantıyı
Alex Mathew

25
Parçaya neden PTRihtiyaç var? Dword boyutu kodlamak için yeterli değil mi? NASM, ptrAFAIK kullanmaz .
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
@JeremyP Word anlamı işlemcilere göre değişiyor. Bu makaleyi okuduktan sonra, kelimenin 16 bit olduğunu tekrar söyleyebilir misiniz, yoksa sadece iki bayt anlamına gelen kelimenin basit anlamını mı tanımlıyorsunuz? 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 Soru "x86" olarak etiketlendi, bu yüzden özellikle bir kelimenin 16 bit genişliğinde olduğu Intel x86 mimarisinden bahsediyoruz . Makalenize göre, x86_64 bile 16 bitlik bir kelime boyutuna sahiptir.
JeremyP

7

Bu diğer sorunun içerdiği şekli düşünün . ebp-4ilk yerel değişkeninizdir ve bir dword işaretçisi olarak görüldüğünde, temizlenmesi gereken 32 bitlik bir tamsayının adresidir. Belki kaynağın şununla başlar

Object x = null;

3

32 bitlik bir beyandır. Bir montaj dosyasının üst kısmına [bit 32] ifadesini yazarsanız, DWORD PTR yazmanız gerekmez. Yani mesela:

[bits 32]
.
.
and  [ebp-4], 0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.