Inline assembler Thumb2 architektúrákhoz

Ez a dokumentum némi jártasságot feltételez az assembly nyelvű programozásban. Az utasításkészlet tömör leírásáért tekintsd meg az ARM Thumb-2 Instruction Set Quick Reference Card-ot a lenti References alatt. Az inline assembler az itt ismertetett ARM Thumb-2 utasításkészlet egy részhalmazát támogatja. A szintaxis igyekszik a lehető legközelebb maradni az ARM által definiálthoz, Python függvényhívásokká alakítva.

Az utasítások 32 bites előjeles egész adatokon működnek, kivéve ahol másként van jelezve. A legtöbb támogatott utasítás csak az R0-R7 regisztereken működik: ahol az R8-R15 támogatott, ott ez jelezve van. Az R8-R12 regisztereket a függvényből való visszatérés előtt vissza kell állítani a kezdeti értékükre. Az R13-R15 regiszterek a Link regisztert, a Verem mutatót, illetve a Programszámlálót alkotják.

Dokumentumkonvenciók

Ahol lehetséges, az egyes utasítások viselkedése Pythonban van leírva, például

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

Ez lehetővé teszi az utasítások hatásának Pythonban való bemutatását. Bizonyos esetekben ez lehetetlen, mert a Python nem támogatja az olyan fogalmakat, mint az indirekció. Az ilyen esetekben alkalmazott pszeudokód az adott oldalon van leírva.

Utasításkategóriák

A következő szakaszok részletezik az ARM Thumb-2 utasításkészlet MicroPython által támogatott részhalmazát.

Használati példák

Ezek a szakaszok további kódpéldákat és tippeket nyújtanak az assembler használatához.

Hivatkozások