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.