Sulautettu assembler Thumb2-arkkitehtuureille#

Tämä dokumentti olettaa jonkin verran tuntemusta assembly-ohjelmoinnista. Käskykannan tiiviin kuvauksen saat ARM Thumb-2 Instruction Set Quick Reference Card -kortista kohdassa References alla. Sulautettu assembler tukee tässä kuvattua ARM Thumb-2 -käskykannan osajoukkoa. Syntaksi pyrkii olemaan mahdollisimman lähellä ARM:n määrittelemää, Python-funktiokutsuiksi muunnettuna.

Käskyt operoivat 32-bittisellä etumerkillisellä kokonaislukudatalla, ellei toisin mainita. Useimmat tuetut käskyt operoivat vain rekistereillä R0-R7: kun R8-R15 ovat tuettuja, se mainitaan. Rekisterit R8-R12 on palautettava alkuperäiseen arvoonsa ennen funktiosta palaamista. Rekisterit R13-R15 muodostavat vastaavasti linkkirekisterin, pino-osoittimen ja ohjelmalaskurin.

Dokumentin merkintätavat#

Aina kun mahdollista, kunkin käskyn toiminta on kuvattu Pythonissa, esimerkiksi

  • add(Rd, Rn, Rm) Rd = Rn + Rm

Tämä mahdollistaa käskyjen vaikutuksen havainnollistamisen Pythonissa. Joissakin tapauksissa tämä on mahdotonta, koska Python ei tue käsitteitä kuten epäsuora osoitus. Tällaisissa tapauksissa käytetty pseudokoodi kuvataan asianomaisella sivulla.

Käskyjen luokat#

Seuraavat osiot kuvaavat yksityiskohtaisesti sen ARM Thumb-2 -käskykannan osajoukon, jota MicroPython tukee.

Käyttöesimerkkejä#

Nämä osiot tarjoavat lisää koodiesimerkkejä ja vinkkejä assemblerin käytöstä.

Lähteet#