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ä.