Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




BPC-MIC04 - Adresovací módy, podprogramy

PDF
Stáhnout kompletní materiál zdarma (293.5 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

1. Uloží do zásobníku návratovou adresu, tj. adresu 

instrukce bezprostředně následující za instrukcí 
volání podprogramu.

2. Naplní programový čítač adresou první instrukce 

podprogramu. 

Instrukce návrat z podprogramu

• Poslední instrukcí, kterou podprogram vykoná, 

musí být instrukce návrat z podprogramu (RTS, 
RET), která: 

1. Vyzvedne z vrcholu zásobníku návratovou adresu 

a dočasně ji umístí do pomocného registru.

2. Zvýší se hodnota SP o počet bytů návratové 

adresy.

• „Odstraní“ se návratová adresa ze zásobníku.

3. Vloží vyzvednutou návratovou adresu do 

programového čítače.

Příklad podprogramu

pole:

DS.B

10

max:

DS.B

1

LDHX #pole    

; Ulozeni parametru pro podprog. do HX

JSR

FindMax

; Volani podprogramu

STA

max

….

FindMax:

LDA

,X

; Zacatek pdprogramu

….

; Nejvetsi prvek ulozen v A

RTS

Funkce jazyka C

int f1(int x, int y) // x, y předávané parametry
{

int z

// Lokální proměnná

……
return(z);

// Návratová hodnota

}

Předávání parametrů 

podprogramům

• Prostřednictvím registrů.

– Před voláním jsou naplněny příslušné registry 

procesoru hodnotami parametrů.

– Rychlejší než přes zásobník.
– Do registrů se však nevejde datová struktura nebo 

pole.

Předávání parametrů 

podprogramům

• Přes zásobník

– Před voláním se uloží hodnoty parametrů do 

zásobníku.

– Ukládání dat na zásobník je pomalé.
– Lze však uložit např. datovou strukturu, pole …

Předávání parametrů 

podprogramům

• Kombinace obou způsobů.
• Co se vejde do registrů je předáno přes 

registry.

• Zbytek přes zásobník.

Předávání návratové hodnoty

• Prostřednictvím registru.
• Přes zásobník.
• Výhody a nevýhody stejné jako u předávání 

parametrů.

Použití zásobníku pro uložení 

dočasných proměnných

a:

ds.w

1    

b:

ds.w

1

y:

ds.w

1

lda

b+1

add

a+1

psha

lda

b

adc

a

psha

pulh

pulx

sthx

y

Makra

• Existují speciální případy, kdy je třeba 

opakovaně vkládat určitou sekvenci instrukcí 
do programu, ale použití podprogramu není 
vhodné.

– Krátká sekvence instrukcí.
– Velké režie potřebné na volání a návrat 

Témata, do kterých materiál patří