11. Assembler-direktiivit

11.1. Nimiöt

  • label(INNER1)

Tämä määrittelee nimiön käytettäväksi haarautumiskäskyssä. Niinpä muualla koodissa b(INNER1) saa suorituksen jatkumaan nimiödirektiiviä seuraavasta käskystä.

11.2. Inline-datan määrittäminen

Seuraavat assembler-direktiivit helpottavat datan upottamista assembler-koodilohkoon.

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

data-direktiivi luo data-arvojen taulukon muistiin. Ensimmäinen argumentti määrittää seuraavien argumenttien koon tavuina. Niinpä alla oleva ensimmäinen lause saa assemblerin sijoittamaan kolme tavua (arvoilla 2, 3 ja 4) peräkkäisiin muistipaikkoihin, kun taas toinen saa sen tuottamaan kaksi neljän tavun sanaa.

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

Yhtä tavua pidemmät data-arvot tallennetaan muistiin little-endian-muodossa.

  • align(nBytes)

Kohdista seuraava käsky nBytes-arvoon. ARM Thumb-2 -käskyjen on oltava kahden tavun kohdistettuja, joten on suositeltavaa antaa align(2) data-direktiivien jälkeen ja ennen mahdollista seuraavaa koodia. Tämä varmistaa, että koodi toimii data-taulukon koosta riippumatta.