11. Direktivy assembleru¶
11.1. Návěští¶
label(INNER1)
Toto definuje návěští pro použití v instrukci větvení. Tedy jinde v kódu způsobí b(INNER1), že provádění bude pokračovat instrukcí za direktivou návěští.
11.2. Definování vložených dat¶
Následující direktivy assembleru usnadňují vkládání dat do bloku kódu assembleru.
data(size, d0, d1 .. dn)
Direktiva data vytvoří v paměti pole datových hodnot. První argument udává velikost následujících argumentů v bajtech. Proto první příkaz níže způsobí, že assembler umístí do po sobě jdoucích paměťových míst tři bajty (s hodnotami 2, 3 a 4), zatímco druhý způsobí, že vydá dvě čtyřbajtová slova.
data(1, 2, 3, 4)
data(4, 2, 100000)
Datové hodnoty delší než jeden bajt jsou v paměti uloženy ve formátu little-endian.
align(nBytes)
Zarovná následující instrukci na hodnotu nBytes. Instrukce ARM Thumb-2 musí být zarovnány na dva bajty, proto je vhodné vydat align(2) po direktivách data a před jakýmkoli následujícím kódem. Tím se zajistí, že kód poběží bez ohledu na velikost datového pole.