IUT Informatique 1A - FI S2
Introduction `a l’architecture
2014 – 2015
Sylvain Chevallier
TP 6 - Assembleur et C - groupe A
Pr´eambule
Notions : Pointeurs, compilation
Evaluation : Compte-rendu ramass´e `a la fin du TP
Pour ce TP, vous utiliserez le logiciel DevMic11acps, en mode simulateur.
Question 1 : Version C
1. ´
Ecrivez un programme en C permettant la saisie de 2 nombres entr´es sur le PortE et le PortC, et
affichant un r´esultat de comparaison identique `a l’exercice 1 du TD6.
2. Observez le r´esultat de la compilation C (transformation du programme C en assembleur 68HC11).
Expliquez l’architecture g´en´erale du programme (appel de la routine assembleur main).
3. Rep´erez les 4 fonctions de test (les 4 instructions assembleur)
4. Comment est faite la r´eservation d’une variable de type char ?
5. Ajoutez la d´eclaration d’un int et d’un float. Quel est la r´eservation effectu´ee ?
6. La d´eclaration d’un float entraˆıne une r´eservation m´emoire suppl´ementaire. V´erifiez-le en suppri-
mant puis en ajoutant un float. Quelle est la taille de cette r´eservation m´emoire suppl´ementaire ?
7. Quelle en est la raison d’apr`es-vous ?
Question 2 : Version assembleur
1. ´
Ecrivez le mˆeme programme en assembleur directement et testez-le.
2. Comparez la taille des deux programmes. Concluez.
Question 3 : Adressage index´e
L’adressage index´e utilise un registre d’index (16 bits, registre xou y).
Par exemple :
1 PORTB equ $04
2ldx #$1000
3lda #$12
4sta PORTB, x ; s t oc k a ge ac cu mul at eu r `a l ’ a d r e s s e x+PORTB = $100 0+$04=$100 4
1