Inbyggd assembler för Thumb2-arkitekturer¶
Detta dokument förutsätter viss kännedom om assemblerspråksprogrammering. För en kortfattad beskrivning av instruktionsuppsättningen, se ARM Thumb-2 Instruction Set Quick Reference Card under References nedan. Den inbyggda assemblern stöder en delmängd av den ARM Thumb-2-instruktionsuppsättning som beskrivs här. Syntaxen försöker ligga så nära som möjligt den som definieras av ARM, omvandlad till Python-funktionsanrop.
Instruktioner opererar på 32-bitars signerade heltalsdata förutom där annat anges. De flesta instruktioner som stöds opererar endast på registren R0-R7: där R8-R15 stöds anges detta. Registren R8-R12 måste återställas till sina ursprungsvärden innan en funktion returnerar. Registren R13-R15 utgör länkregistret, stackpekaren respektive programräknaren.
Dokumentkonventioner¶
Där det är möjligt beskrivs varje instruktions beteende i Python, till exempel
add(Rd, Rn, Rm)
Rd = Rn + Rm
Detta gör det möjligt att demonstrera instruktionernas effekt i Python. I vissa fall är detta omöjligt eftersom Python inte stöder begrepp som indirektion. Den pseudokod som används i sådana fall beskrivs på den relevanta sidan.
Instruktionskategorier¶
Följande avsnitt beskriver i detalj den delmängd av ARM Thumb-2-instruktionsuppsättningen som stöds av MicroPython.
Användningsexempel¶
Dessa avsnitt ger ytterligare kodexempel och tips om användning av assemblern.