`dword ptr`はどういう意味ですか?


123

誰かがこれが何を意味するのか説明できますか?(Intel Syntax、x86、Windows)

and     dword ptr [ebp-4], 0

回答:


119

このdword ptr部分はサイズディレクティブと呼ばれます。このページではそれらについて説明していますが、正しいセクションに直接リンクすることはできませんでした。

基本的に、これは「ターゲットオペランドのサイズが32ビットであること」を意味するため、これは、ebpレジスターの内容を取得して0で4を減算することにより計算されたアドレスの32ビット値のビットANDをとります。


72
「dword」の「d」は「double」を意味します。ワードは16ビットです。
JeremyP 2010年

詳細については、このリンクに
Alex Mathew 2014年

25
なぜPTR部品が必要なのですか?サイズをエンコードするのに十分なdwordではありませんか?NASMはptrAFAIKを使用しません。
Ciro Santilli郝海东冠状病六四事件法轮功

1
@JeremyP Wordの意味は、プロセッサによって異なります。この記事を読んだ後、もう一度言うと単語は16ビットですか、それとも2バイトを意味する単語の単純な意味を定義しているだけですか?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質問には「x86」というタグが付いているので、具体的には、単語が16ビット幅のIntel x86アーキテクチャについて話しています。あなたの記事によると、x86_64でも16ビットのワードサイズがあります。
JeremyP 2016

7

この他の質問で囲まれた図を考えてみてください。 ebp-4最初のローカル変数であり、dwordポインターと見なされます。これは、クリアする必要がある32ビット整数のアドレスです。たぶんあなたのソースは

Object x = null;

3

これは32ビット宣言です。アセンブリファイルの先頭にステートメント[ビット32]を入力すると、DWORD PTRを入力する必要がなくなります。だから例えば:

[bits 32]
.
.
and  [ebp-4], 0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.