22 lines
860 B
Markdown
22 lines
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`)
|