MagPI 11 Page 26

De Le French MagPi
Aller à : Navigation, rechercher

(image à droite).


Une nouvelle fenêtre s'affiche avec "*" comme invite. Tapez :

BASIC

Puis appuyez sur ENTRÉE. BBC BASIC va démarrer.


Saisissez alors le programme de l'ENCADRÉ 1. Une fois cela fait, tapez :

RUN

et le programme sera assemblé. Vous obtiendrez un listing assembleur qui ressemblera à ceci :

(listing à laisser tel quel)

Si vous obtenez des erreurs, vérifiez attentivement les lignes indiquées. Les programmes sont sensibles à la casse, assurez-vous d'avoir saisi le programme tel qu'il est présenté.


Le listing assembleur présente plusieurs colonnes. La première est l'adresse mémoire où est placée l'instruction (ce sera bien sûr différent sur votre Raspberry Pi). La seconde contient le code machine. La séquence numérique :

E3A0002A

est le code machine de :

MOV R0, #ASC(“*”)

Les étiquettes sont placées dans la troisième colonne. Enfin, la quatrième est l'instruction assembleur de chaque ligne.


La première ligne montre comment intégrer du BASIC en assembleur. Nous n'avons pas à chercher le code ASCII de l'astérisque, la fonction ASC du BASIC le fait pour nous. Toutes les fonctions du BASIC peuvent être utilisées de cette manière. Cette intégration peut être simple ou complexe selon les besoins. Si la fonction est valide, elle sera assemblée correctement. Quelque chose comme ceci est accepté et sera assemblé :

MOV R0, #INT(SIN(DEG 60)*100)

Essayez !

Exécuter du code machine

L'instruction CALL permet d'exécuter le code machine ainsi :

CALL START

Où 'START' est l'étiquette qui indique où commence le code machine et que le programme BASIC définit ligne 50. Quand vous appellerez (CALL) le programme, un astérisque s'affichera sur l'écran. Le code machine aurait aussi pu être exécuté en tapant :

CALL CODE%

ou

CALL &8FAC


Dans ce dernier cas, utilisez la valeur affichée à l'écran sur la ligne "Program Assembled at:", car elle sera différente pour vous.


Enregistrer du code machine

La commande SAVE est utilisée pour enregistrer le source assembleur. Pour le code machine, il faut employer la commande *SAVE avec l'adresse de début et la longueur du code. Ces paramètres sont affichés par les lignes 100 et 110 du programme. La syntaxe de la commande *SAVE est :

*SAVE <nomfichier> <adressedébut> + <longueur>

Pour l'exemple ci-dessus, la commande ressemble à ceci :

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils