Une fonction assembleur Inline peut accepter jusqu'à 3 arguments. Si ils sont utilisés, ces arguments doivent être nommés {{fname|r0}}, {{fname|r1}} et {{fname|r2}} pour refléter les registres et les conventions d'appel.
−
Inline assembler functions can accept up to 3 arguments. If they are used, they must be named {{fname|r0}}, {{fname|r1}} et {{fname|r2}} to reflect the registers and the calling conventions.
+
Voici une fonction qui additionne ces arguments:
−
−
Here is a function that adds its arguments:
<nowiki>@micropython.asm_thumb
<nowiki>@micropython.asm_thumb
Ligne 49 :
Ligne 48 :
add(r0, r0, r1)</nowiki>
add(r0, r0, r1)</nowiki>
−
This performs the computation {{fname|1=r0 = r0 + r1}}. Since the result is put in {{fname|r0}}, that is what is returned. Try {{fname|asm_add(1, 2)}}, it should return 3.
+
Cette fonction exécute le calcul {{fname|1=r0 = r0 + r1}}. Etant donné que le résultat est placé dans le registre {{fname|r0}}, ce sera donc la valeur qui sera retournée.
+
+
Essayez la commande {{fname|asm_add(1, 2)}} qui devrait retourner la valeur 3.