Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Hardware >> CPU >> .

Rozdiel medzi makrámi a procedúrou v mikroprocesore?

Makrá a procedúry sú oba spôsoby, ako vytvoriť opakovane použiteľný kód v jazyku symbolických inštrukcií. Medzi nimi však existuje niekoľko kľúčových rozdielov.

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

```

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené