Assembleur en ligne pour les architectures Thumb2¶
Ce document suppose une certaine familiarité avec la programmation en langage d’assemblage. Pour une description concise du jeu d’instructions, consultez la fiche de référence rapide « ARM Thumb-2 Instruction Set Quick Reference Card » sous References ci-dessous. L’assembleur en ligne prend en charge un sous-ensemble du jeu d’instructions ARM Thumb-2 décrit ici. La syntaxe tente d’être aussi proche que possible de celle définie par ARM, convertie en appels de fonctions Python.
Les instructions opèrent sur des données entières signées de 32 bits sauf indication contraire. La plupart des instructions prises en charge n’opèrent que sur les registres R0-R7 : lorsque R8-R15 sont pris en charge, cela est indiqué. Les registres R8-R12 doivent être restaurés à leur valeur initiale avant le retour d’une fonction. Les registres R13-R15 constituent respectivement le registre de lien (Link Register), le pointeur de pile (Stack Pointer) et le compteur de programme (Program Counter).
Conventions du document¶
Lorsque c’est possible, le comportement de chaque instruction est décrit en Python, par exemple
add(Rd, Rn, Rm)
Rd = Rn + Rm
Cela permet de démontrer l’effet des instructions en Python. Dans certains cas, c’est impossible parce que Python ne prend pas en charge des concepts tels que l’indirection. Le pseudocode employé dans de tels cas est décrit sur la page correspondante.
Catégories d’instructions¶
Les sections suivantes détaillent le sous-ensemble du jeu d’instructions ARM Thumb-2 pris en charge par MicroPython.
- 1. Instructions de déplacement de registre
- 2. Charger un registre depuis la mémoire
- 3. Stocker un registre en mémoire
- 4. Instructions logiques et bit à bit
- 5. Instructions arithmétiques
- 6. Instructions de comparaison
- 7. Instructions de branchement
- 8. Empilage et dépilage de la pile
- 9. Instructions diverses
- 10. Instructions à virgule flottante
- 11. Directives d’assembleur
Exemples d’utilisation¶
Ces sections fournissent d’autres exemples de code et des conseils sur l’utilisation de l’assembleur.