誰かがこれが何を意味するのか説明できますか? (Intel シンタックス、x86、Windows)
and dword ptr [ebp-4], 0
このdword ptr
部分をサイズ指令と呼びます。このページで説明していますが、正しいセクションに直接リンクできませんでした。
基本的に、これは「ターゲットオペランドのサイズが 32 ビットである」ことを意味するため、ebp
レジスタの内容を取得して 4 を 0 で減算することによって計算されたアドレスの 32 ビット値をビットごとに AND します。
この他の質問に含まれる図を考えてみましょう。
ebp-4
は最初のローカル変数であり、dword ポインターと見なされ、クリアする必要がある 32 ビット整数のアドレスです。多分あなたのソースはで始まります
Object x = null;
32bit宣言です。アセンブリ ファイルの先頭にステートメント [ビット 32] を入力する場合、DWORD PTR を入力する必要はありません。たとえば、次のようになります。
[bits 32]
.
.
and [ebp-4], 0