Definiowanie unii
gdzie:
określa początek definicji unii o podanej .
definiuje cz¹Å›ci skÅ‚adowe unii.
określa koniec unii o podanej ; w przypadku zagnieżdżonych bloków
wystarczy pojedynczy zapis .
Deklaracja nowych typów
definiuje nowy typ o podanej , który jest jednoznaczny z .
Deklaracja zmiennych lokalnych w procedurach (funkcjach)
deklaracja 8-bitowej.
deklaracja 8-bitowej ze znakiem.
deklaracja 16-bitowej.
deklaracja 16-bitowej ze znakiem.
deklaracja 32-bitowej.
deklaracja 32-bitowej ze znakiem.
deklaracja 48-bitowej.
deklaracja 64-bitowej.
deklaracja 80-bitowej.
154 Win32ASM. Asembler w Windows
Inne operacje
powoduje, że adres pierwszej (nast¹pnej po wystÄ…pieniu konstrukcji )
zadeklarowanej zmiennej b¹dzie wyrównany do wielokrotnoÅ›ci .
powoduje, że adres pierwszej (nast¹pnej po wystÄ…pieniu konstrukcji )
zadeklarowanej zmiennej lub użytej instrukcji b¹dzie wyrównany do adresu
parzystego.
Procedury i funkcje
Deklaracja procedury (funkcji) PROC i ENDP
gdzie:
rozpoczyna definicj¹ procedury o podanej ; procedura może być
wywoływana z parametrami ( , , , ); procedura może być
wywoływana w programie poleceniem lub ; można
okreÅ›lić, które rejestry sÄ… niszczone przez procedur¹, tak że assembler
automatycznie zadba o zachowanie ich w prologu i przywrócenie w epilogu
procedury ( ).
kod procedury (z reguÅ‚y koÅ„czÄ…cy si¹ rozkazem ).
koÅ„czy definicj¹ procedury o zadanej .
Wywołanie procedury (funkcji) INVOKE
powoduje wywołanie procedury o podanej ; istnieje możliwość
przekazywania parametrów , , , do procedury (funkcji); parametry
te zostaną umieszczone na stosie lub w rejestrach w kolejności wynikającej
z przyj¹tego modelu wywoÅ‚ywania procedur; parametrami mogÄ… być rejestry,
adresy pami¹ci i wyrażenia; asembler jest w stanie sprawdzić, czy liczba
parametrów i ich typ zgadza si¹ z parametrami zadeklarowanymi w ciele
procedury.
Rozdział 5. f& Macro Assembler 155
Deklaracja prototypu procedury (funkcji) PROTO
prototyp procedury (funkcji); informuje asembler o istnieniu procedury
(funkcji) o zadanej i atrybutach.
Tworzenie własnych makr
Konstrukcja MACRO
gdzie:
rozpoczyna definicj¹ makra o podanej ; makro może być wywoÅ‚ywane
z parametrami ( , , , ); w miejscu wywołania makra
zostanie ono rozwini¹te zgodnie z .
koÅ„czy definicj¹ makra lub blok .
Konstrukcja EXITM
powoduje zakoÅ„czenie przetwarzania bieżącego bloku (rozpocz¹tego
konstrukcjÄ… lub ); przetwarzanie rozpocznie si¹ od nast¹pnej
instrukcji po zakończonym właśnie bloku; istnieje możliwość zwrócenia
zadanej do wyrażenia, które spowodowało wywołanie makra. [ Pobierz całość w formacie PDF ]