TP Noté
Architecture des Machines
Halim Djerroud, Mehdy Tounsi
Excercie 1 (6 pts)
Soit un programme en C qui contient une fonction main() qui appelle une fonc-
tion fonction1(), la fonction fonction1() est écrite dans un fichier assembleur. La
fonction fonction1() doit déclarer trois variable a=1, b=2 et c=a+b
1. Ecrivez le fichier C.
2. Ecrivez le fichier Assembleur.
Donnez les commandes pour :
1. Générer les fichiers objets correspondants.
2. Linker les fichiers objets pour générer le fichier elf.
3. Générer le fichier hex.
4. Téléverser le fichier hex dans le microcontrôleur.
Excercie 2 (5 pts)
Écrivez un programme en assembleur qui permet de faire clignoter deux leds sur
la pin 3 et la pin 6 sur l’Arduino (voir le fichier des pins joint dans moodle) avec un
délai d’environ 2 secondes.
Excercie 3 (5 pts)
Écrivez un programme en assembleur qui permet de faire clignoter les deux leds
(sur les pins 3 et 6) à l’aide d’un bouton poussoir branché sur la pin 4.
Excercie 3 (4 pts)
Écrivez un programme en en C qui appelle une fonction : u int16 addition
(u int16 a , u int16 b)
cette dernière est définie dans un fichier assembleur, elle renvoie la somme des
deux nombres passés en paramètres.
Afficher les résultat a l’écran en utilisant uart.c