22 lines
No EOL
860 B
Markdown
22 lines
No EOL
860 B
Markdown
# Použití zásobníku
|
|
|
|
**Zásobník podporovaný HW procesoru**
|
|
- procesor má speciální registr SP, který ukazuje na vrchol zásobníku
|
|
- se zásobníkem se pracuje instrukcemi PUSH a POP
|
|
- musí se dodržet správné pořadí operací
|
|
- dále je používán při volání podprogramu a obsluze přerušení
|
|
- položky v zásobníku jsou typu Word (16 bitů) nebo DWord (32 bitů)
|
|
|
|
**Volání podprogramu**
|
|
- instrukce `JSR`
|
|
- skok do programu
|
|
- uloží návratovou adresu do zásobníku
|
|
- provede skok na cílovou adresu
|
|
- instrukce `RTS` musí provést návrat na správné místo volajícího programu
|
|
- vyjme obsah vrcholu zásobníku a uloží jej do `PC`
|
|
|
|
**Nastavení SP**
|
|
- inicializace SP je starost programátora
|
|
- musí se zajitit
|
|
- vyhrazení místa pro zásobník (`.space 100`)
|
|
- nastavení SP na dno zásobníku (`MOV.L #stck, ER7`) |