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
L’adressage index´e est utilis´e principalement comme ´equivalent C des pointeurs pour manipuler les
tableaux.
1. ´
Ecrivez un programme assembleur qui :
Par une simple r´eservation, r´eserve Ncases m´emoires (Nsera d´eclar´e dans un equ) `a partir
de l’adresse $C400
Pour N= 10, remplit par programmation ces Ncases avec $02
2. Compl´etez ce programme pour faire la somme de ces 10 cases et affichez le r´esultat sur le PortB.
3. ´
Ecrivez le mˆeme programme en langage C
4. Comparez les 2 programmes :
assembleur direct
assembleur issu du C compil´e
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !