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!




Mikroprocesory - Skripta

PDF
Stáhnout kompletní materiál zdarma (1.27 MB)

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.

Instrukce volání podprogramu se umisťuje na místo v hlavním programu, ze kterého je 

třeba provést odskok do podprogramu. Instrukce volání podprogramu zajistí: 

1.   Do  zásobníku  se  uloží  návratová  adresa,  tj.  adresa  instrukce  bezprostředně 

následující za instrukcí volání podprogramu. 

2.  Naplní programový čítač adresou první instrukcí podprogramu. Tím se provede 

vlastní skok do podprogramu. 

Poslední  vykonanou  instrukcí  podprogramu  musí  být  instrukce  návrat  z podprogramu, 

která vyjme návratovou adresu ze zásobníku a uloží ji do programového čítače. Tím se vlastně 
provede  skok  na  adresu  instrukce,  která  následuje  bezprostředně  za  instrukcí  volání 
podprogramu. 

Situace při volání podprogramu bývá obvykle složitější, než bylo výše uvedeno, protože 

podprogramům  bývají  předávány  parametry  a  podprogramy  vrací  návratovou  hodnotu. 
Parametry i návratovou hodnotu lze předávat buď pomocí vnitřních registrů procesoru, nebo 
pomocí zásobníku. Registry jsou vhodné pro předávání jednoduchých proměnných, zatímco 
pro  pole  a  datové  struktury  je  třeba  použít  zásobník.  Použití  registrů  urychluje  celý  proces 
volání  resp.  návratu  z podprogramu.  Proto  bývá  výhodnější  nepoužívat  jako  parametry  či 
návratovou hodnotu velké datové struktury, ale pouze ukazatele na ně (jejich adresy). 

Existují případy, kdy je třeba skutečně opakovaně vkládat určitou sekvenci instrukcí do 

programu a využití podprogramu není vhodné např. z důvodu velké režie potřebné na volání a 
návrat z podprogramu. Aby se zkrátil zápis programu v jazyce symbolických adres, nadefinuje 
se opakující se sekvence instrukcí jako tzv. makro. V místech programu, kde je třeba příslušnou 
sekvenci vložit, uvede se pouze jedna pseudoinstrukce, která při překladu zajistí tzv. rozvoj 
makra, tj. vložení skutečné sekvence instrukcí. 

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