11. Direktive asemblera

11.1. Oznake

  • label(INNER1)

Ovo definira oznaku za korištenje u instrukciji grananja. Tako će drugdje u kodu b(INNER1) uzrokovati nastavak izvršavanja s instrukcijom nakon direktive oznake.

11.2. Definiranje ugrađenih podataka

Sljedeće direktive asemblera olakšavaju ugrađivanje podataka u blok asemblerskog koda.

  • data(size, d0, d1 .. dn)

Direktiva data stvara polje vrijednosti podataka u memoriji. Prvi argument određuje veličinu sljedećih argumenata u bajtovima. Stoga će prva izjava ispod uzrokovati da asembler smjesti tri bajta (s vrijednostima 2, 3 i 4) u uzastopne memorijske lokacije, dok će druga uzrokovati da emitira dvije četverobajtne riječi.

data(1, 2, 3, 4)
data(4, 2, 100000)

Vrijednosti podataka dulje od jednog bajta pohranjuju se u memoriji u little-endian formatu.

  • align(nBytes)

Poravnaj sljedeću instrukciju na vrijednost od nBytes. ARM Thumb-2 instrukcije moraju biti poravnate na dva bajta, stoga je preporučljivo izdati align(2) nakon data direktiva i prije bilo kojeg sljedećeg koda. Time se osigurava da će se kod izvršiti bez obzira na veličinu polja podataka.