Přidání poznámek z POT k zásobníku
This commit is contained in:
parent
51fb1f144a
commit
bb6bf2c06f
1 changed files with 22 additions and 0 deletions
22
KIV POT/04. Použití zásobníku.md
Normal file
22
KIV POT/04. Použití zásobníku.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# 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`)
|
Loading…
Reference in a new issue