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.