Czy ktoś mógłby wyjaśnić, co to oznacza? (Składnia Intel, x86, Windows)
and dword ptr [ebp-4], 0
dword ptr
Część nazywana jest dyrektywa rozmiar. Ta strona wyjaśnia je, ale nie było możliwe bezpośrednie łącze do właściwej sekcji.
Zasadniczo oznacza to, że „rozmiar argumentu docelowego wynosi 32 bity”, więc będzie to bitowe ORAZ 32-bitową wartość pod adresem obliczoną przez pobranie zawartości ebp
rejestru i odjęcie czterech przez 0.
PTR
część jest potrzebna? Czy dword nie wystarczy do zakodowania rozmiaru? NASM nie używaptr
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)Rozważ liczbę zawartą w tym drugim pytaniu .
ebp-4
jest twoją pierwszą lokalną zmienną i, widziany jako wskaźnik dword, jest adresem 32-bitowej liczby całkowitej, która musi zostać wyczyszczona. Może Twoje źródło zaczyna się odźródło
Jest to deklaracja 32-bitowa. Jeśli na początku pliku asemblacyjnego wpiszesz instrukcję [bity 32], nie musisz wpisywać DWORD PTR. Na przykład:
źródło