Architektura Komputerów/Wykład 3: Synteza modelu programowego: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaLinia 282: | Linia 282: | ||
|valign="top" width="500px"|[[Grafika:ASK_M3_S31.png]] | |valign="top" width="500px"|[[Grafika:ASK_M3_S31.png]] | ||
|valign="top"| | |valign="top"| | ||
+ | Składnia zapisu przykładowego programu jest zgodna z asemblerami rodziny NASM. | ||
+ | |||
Sekwencja wywołania dla x86 jest taka sama, jak w dotychczasowych modelach. | Sekwencja wywołania dla x86 jest taka sama, jak w dotychczasowych modelach. | ||
Linia 287: | Linia 289: | ||
Po powrocie z procedury następuje usunięcie argumentów. Polega ono na przesunięciu wskaźnika stosu o rozmiar argumentów – w tym przypadku o 8 (dwa argumenty po 32 bity). | Po powrocie z procedury następuje usunięcie argumentów. Polega ono na przesunięciu wskaźnika stosu o rozmiar argumentów – w tym przypadku o 8 (dwa argumenty po 32 bity). | ||
+ | |||
+ | Wartość funkcji zostaje zapamiętana w zmiennej statycznej x. Zapis [x] oznacza komórkę pamięci o adresie x. Adres zmiennej jest stałą. która może zostać zapisana symbolicznie. | ||
|} | |} | ||
Wersja z 19:21, 24 paź 2006
![]() |
Wywołanie procedury jest realizowane przez pierwsze trzy instrukcje. Rysunek pokazuje zawartość stosu bezpośrednio po wykonaniu instrukcji skoku ze śladem. |
![]() |
![]() |
![]() |