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.