Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Makrá
* Sú založené na texte
* Sú rozšírené zostavovateľom pred začatím procesu montáže
* Môže byť použitý na definovanie konštánt, štítkov a pokynov
* Nedá sa použiť na vytváranie riadiacich štruktúr (ako sú slučky a vetvy)
Postupy
* Sú binárne
* Sú uložené v spustiteľnom súbore
* Možno volať z iných častí programu
* Môže byť použitý na vytvorenie riadiacich štruktúr
Vo všeobecnosti sú makrá efektívnejšie ako procedúry, pretože nevyžadujú žiadne dodatočné strojové inštrukcie. Makrá však môže byť ťažké ladiť, pretože nie sú viditeľné v kóde zostavy. Procedúry sa ľahšie ladia, pretože sa dajú prechádzať v ladiacom nástroji.
Tu je príklad makra v assembleri:
```
.macro inc(r)
pridať r, r, 1
.endm
```
Toto makro zvyšuje hodnotu v registri `r`. Používa sa nasledovne:
```
inc r1; Zvýšte hodnotu v r1
```
Tu je príklad postupu v assembleri:
```
inc:
pridať r1, r1, #1; Zvýšte hodnotu v r1
bx lr; Návrat z procedúry
```
Tento postup zvýši hodnotu v registri `r1` a potom sa vráti k volajúcemu. Volá sa takto:
```
bl inc; Zavolajte inc
```