Programowanie niskopoziomowe / Moduł 4: Programowanie hybrydowe: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 112: | Linia 112: | ||
|valign="top" width="500px"|[[Grafika:PNP_M4_S12.png]] | |valign="top" width="500px"|[[Grafika:PNP_M4_S12.png]] | ||
|valign="top"| | |valign="top"| | ||
Rejestr 1 jest używany | Rejestr 1 jest używany przez asembler MIPS do rozwijania metainstrukcji asemblera w sekwencje 2..3 instrukcji procesora. Rejestr ten zawiera tymczasową wartość, przekazywaną pomiędzy instrukcjami składającymi się na jedną metainstrukcję. | ||
Rejestry k0 i k1 są zarezerwowane do użytku systemu operacyjnego. Z punktu widzenia aplikacji są one ulotne, gdyż wykonanie programu może zostać w każdej chwili przerwane, a w tym czasie system operacyjny może zmienić zawartość tych rejestrów. | Rejestry k0 i k1 są zarezerwowane do użytku systemu operacyjnego. Z punktu widzenia aplikacji są one ulotne, gdyż wykonanie programu może zostać w każdej chwili przerwane, a w tym czasie system operacyjny może zmienić zawartość tych rejestrów. | ||
Linia 118: | Linia 118: | ||
Rejestr 28 ułatwia dostęp do danych statycznych. | Rejestr 28 ułatwia dostęp do danych statycznych. | ||
Rejestr 30 może być użyty jako wskaźnik ramki, zwykle jednak kompilatory dla MIPS adresują obiekty ramki | Rejestr 30 może być użyty jako wskaźnik ramki, zwykle jednak kompilatory dla MIPS adresują obiekty ramki stosu względem wskaźnika stosu, a rejestr 30 służy jako dziewiąty rejestr zachowywany. | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> |
Aktualna wersja na dzień 22:28, 15 paź 2006
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
W epilogu procedury następuje odwrócenie efektów wykonania prologu. Ostatnią czynnością wykonywaną w epilogu jest powrót według śladu wywołania. |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |