Mikroprocesory - Skripta
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.
Příklad 3.1
Příklad definice a využití makra
VypisZn:
MACRO
znak
; Definice makra VypisZn,
; ktere vypise na obrazovku
; jeden ASCI znak
; znak je parametr
mov
AL,&znak
; Parametr makra vloz
; do reg. AL
mov
AH,14
int
16
ENDM
VypisZn
’0’
; Rozvoj makra
VypisZn
’x’
; Rozvoj makra
Asembler před vlastní překladem makra rozvine:
22
FEKT Vysokého učení technického v Brně
mov
AL,’0’
mov
AH,14
int
16
mov
AL,’x’
mov
AH,14
int
16
Makra tedy pouze zmenšují délku zdrojového souboru, zapsaného v jazyce symbolických
adres a zlepšují jeho čitelnost. Délka výsledného strojového kódu, který je ukládán do paměti
počítače, není použitím maker nijak ovlivněna. Naopak podprogramy zmenšují velikost
strojového kódu. Cenou za to je však jisté zpomalení běhu programu, neboť vykonání instrukcí
volání a návratu z podprogramu zabere procesoru relativně dlouhou dobu (obě využívají
zásobník). Tato režijní doba se ještě může prodloužit o instrukce pro manipulaci s parametry a
návratovou hodnotou.
3.1.11 Použití zásobníku
Zásobník (stack) je paměť typu LIFO (Last In First Out). Obvykle bývá realizován jako
určitá vyhrazená oblast hlaví paměti počítače. V některých speciálních případech, např. u
některých signálových procesorů, je zásobník implementován pomocí speciální paměti. Pro
práci se zásobníkem jsou procesory vybaveny speciálním registrem nazývaným ukazatel
zásobníku (Stack Pointer) SP.
Častým využitím zásobníku je předávání parametrů mezi volající a volanou funkcí.