1 Université Sidi Mohammed Ben Abdellah École Supérieure de Technologie de Fès
1 Université Sidi Mohammed Ben Abdellah École Supérieure de Technologie de Fès Filière Génie Industriel et Maintenance TP INFO INDUST TP INFO INDUST (Assembleur 6809) (Assembleur 6809) MR KHATORY MR KHATORY 2 1. FAMILIARISATION AVEC L’UTILISATION DU MICROSYSTEME MC09 Description de la maquette MC09 Elle se présente comme une carte mère d’un ordinateur personnel (PC). Elle héberge le microprocesseur 6809 et les différents périphériques avec lesquels il dialogue. Afficheurs de la maquette MC09 C’est un affichage en six digits hexadécimaux (chaque digit est codé sur 4 bits). Le champ des quatre premiers digits représente, en général, les adresses mémoire (16 bits) $XYZT (0 X, Y, Z, T F ) et le champ des deux derniers digits le contenu mémoire (8 bits) pointé par l’adresse mémoire $XYZT. Clavier de la maquette MC09 Il est composé de deux ensembles de touches : o 16 touches (0 à F) constituant le clavier hexadécimal et permettant de saisir directement un programme par son code machine. o 14 touches de fonctions dont le rôle de chacune est rappelé brièvement dans le tableau ci-dessous. Touche de fonction Rôle de la touche de fonction RST (Reset) : Initialisation du système MC09. Cela initialise le processeur (ses registres internes) mais pas la RAM où est chargé le programme utilisateur. LEC (Lecture de programme à partir d’une bande magnétique (magnétophone) PRG (touche programme pour magnétophone !?) OFS (Offset) calcul de sauts de programme (branchement) NMI Envoi d’une interruption (non masquable) au processeur ECR Ecriture (Enregistrement de programme dans une bande magnétique (magnétophone) BRK (Break) : Insertion de points d’arrêt dans un programme. REG Exploration des contenus des registres internes du processeur (A, B, D, X, Y, U, S, PC, CCR, DP) FIN Fin d’une tâche demandée au système MC09. INS Insertion: permet d’insérer une nouvelle instruction dans un programme déjà existant en RAM. DEC Décrémentation d’adresse : On passe d’une adresse mémoire à la précédente en vue de l’exploration du contenu mémoire de ces adresses. S’utilise conjointement avec la touche INC. EXC Exécution de programme MEM Accès ponctuel à la mémoire : Le moniteur permet à l’utilisateur de spécifier une adresse mémoire dans le champ des quatre premiers digits d’affichage. Les deux derniers digits affichent alors le contenu de l’octet mémoire pointé par cette adresse. INC Incrémentation d’adresse : On passe d’une adresse mémoire à la suivante en vue de l’exploration du contenu mémoire de ces adresses. S’utilise conjointement avec la touche DEC. Figure 1 3 Manip 1 a- Observez la carte MC09 est identifiez les emplacements physiques des principaux composants implantés sur cette carte. On complètera pour cela le tableau suivant (colonne 2 et 4): Composant Emplacement Zi (1 i 20 ) Adresses sur le MC09 Capacité mémoire de à EPROM système 2732 dans laquelle réside le programme du moniteur MC09 E000 FFFF EPROM 2732 extension utilisateur C000 DFFF EPROM 2732 extension utilisateur A000 BFFF PIA 6821 utilisateur 8000 8003 VIA 6522 utilisateur 8400 840F Timer 6840 utilisateur 8800 8807 ACIA 6850 utilisateur 8C00 8C01 PIA 6821 système (afficheurs et clavier) 9000 9FFF RAM utilisateur 0000 0F5F 90 octets réservés au moniteur MC09 0F60 0FFF Processeur 6809 Clavier 30 touches Deux connecteurs 50 points chacun Alimentation +5V Borne de masse 0V b- Initialisation du système MC09 Cela se fait par appui sur la touche RST. L’affichage M C 0 9, sur les quatre digits de gauche, signifie que l’on est sous contrôle du moniteur MC09. Appuyer sur la touche RST et noter le contenu des afficheurs : 1.1. Accès en lecture / écriture à la mémoire du système MC09 (touches MEM et FIN) But : visualiser (lecture) sur les afficheurs le contenu d’un octet mémoire d’adresse $xyzt choisie, puis, modifier (écriture) son contenu. 1.1.1. Accès en lecture Soit à visualiser le contenu de l’octet mémoire d’adresse $0010. Les quatre afficheurs de gauche permettent de visualiser l’adresse mémoire $0010 et les deux afficheurs de droite le contenu de l’octet mémoire pointé par cette adresse. 4 Manip 2 Action Commentaire de l’action Affichage Commentaire de l’affichage Touche RST Initialisation du système MC09. M C 0 9 Nous sommes sous contrôle du moniteur MC09 Touche MEM Demande d’accès à la mémoire A d Ad (abréviation de Adresse): le moniteur MC09 attend la saisie de l’adresse mémoire à laquelle on veut accéder. Taper 0010 Saisie de l’adresse à laquelle on veut accéder 0 0 1 0 x y Le moniteur affiche le contenu xy de l’octet mémoire d’adresse $0010 : ($0010) = $xy Touche FIN Fin de tache M C 0 9 Retour sous contrôle du moniteur système MC09 Figure 2 1.1.2. Accès en écriture On souhaite maintenant modifier (écriture) le contenu d’un octet mémoire d’adresse connue. Pour cela, on spécifie d’abord au moniteur MC09 l’adresse de cet octet (manip 1) et on modifie ensuite son contenu. Soit à écrire la valeur $17 dans l’octet mémoire d’adresse $0012. Manip 3 Action Commentaire de l’action Affichage Commentaire de l’affichage Touche RST Initialisation du système MC09. M C 0 9 Nous sommes sous contrôle du moniteur MC09 Touche MEM Demande d’accès à la mémoire A d Ad (abréviation de Adresse): le moniteur MC09 attend la saisie de l’adresse mémoire à laquelle on veut accéder. Taper 0012 Saisie de l’adresse à laquelle on veut accéder 0 0 1 2 u v Le moniteur affiche le contenu uv de l’octet mémoire d’adresse $0012 : ($0012) = $uv Taper 17 Modification du contenu de l’octet mémoire d’adresse $0012 0 0 1 2 1 7 ($0012) = $17 Touche FIN Fin de tache M C 0 9 Retour sous contrôle du moniteur système MC09 Figure 3 5 1.2. Exploration d’une zone mémoire d’adresses contiguës (touches INC et DEC) Manip 4 a- En vous servant des procédures d’accès mémoire des manips 2 et 3, visualisez le contenu de l’octet mémoire d’adresse $0005 b- A partir de l’adresse $0005, des actions successives sur la touche INC (DEC) vous permettent de voir les contenus mémoires des adresses successives suivantes (précédentes). Vous pouvez, après chaque appui sur la touche INC (DEC), modifier le contenu mémoire (sur les deux afficheurs de droite) de l ‘adresse affichée (sur les quatre afficheurs de gauche). c- Appuyer sur la touche FIN pour revenir sous contrôle du moniteur MC09. d- Refaire la manip afin de banaliser l’utilisation des touches INC et DEC. 1.3. Exploration du contenu des registres internes du processeur (touche REG) But : Quasiment toutes les instructions utilisent tout ou partie des registres internes du processeur 6809 (CC, A, B, DP, X, Y, U, PC, S). la touche REG (registre) permet de visualiser le contenu de ces registres. Cette touche est particulièrement utile lors de l’exécution d’un programme en mode pas à pas (voir plus loin dans ce TP). Remarque : Au niveau de l’affichage, le nom du registre s’affiche sur les deux afficheurs de droite et son contenu s’affiche sur les quatre afficheurs de gauche. Manip 5 Procédez comme indiqué dans le tableau suivant et remplir les zones vides. Action Commentaire de l’action Affichage Commentaire de l’affichage Touche RST Initialisation du système MC09. M C 0 9 Nous sommes sous contrôle du moniteur MC09 Touche REG Demande d’accès aux registres internes du processeur X y C C Visualisation du registre d’état CC : (CC) = $xy Touche INC On passe au registre suivant U v A Visualisation de l’accumulateur A : (A) = $uv Touche INC Touche INC Touche INC Touche INC Touche INC Touche INC Touche INC Touche INC Figure 4 6 Après un RESET général du processeur (touche RST), refaire la manip 5 en notant le contenu des registres internes du processeur dans le tableau suivant : Registre interne Contenu du registre interne CC A B D DP X Y U PC S 1.4. Saisie et exécution d’un programme sur le microsystème MC09 (touche EXC) Le processeur 6809 est un processeur 8 bits. Un programme, écrit en langage assembleur, est stocké en mémoire sous forme d’une suite d’octets représentant le code machine ou le code objet de ce programme. Chaque octet est identifié en mémoire par une adresse codée sur 16 bits. Dans ce qui suit, nous examinerons un petit programme assembleur que nous saisirons directement à l’aide de son code objet et que nous exécuterons ensuite et vérifions les résultats obtenus. Soit le petit programme suivant Colonne 1 Colonne 2 Colonne 3 $0000 86 00 LDA #$00 $0002 1F 8B TFR A, DP $0004 9B 21 ADDA $21 $0006 97 22 STA $22 $0008 3F SWI Figure 5 1- Que représente globalement les contenus des colonnes 1 et 2 Colonne 1 :………………………………………………………………………………… Colonne 2 :………………………………………………………………………………… 2- Réécrire le programme précédent selon le modèle du tableau suivant. Adresse Code machine Etiquette Code mnémonique Mode d’adressage Nombre d’octets qu’occupe l’instruction en mémoire Commentaire Code opération Code opérande 7 Figure 6 1.4.1. Saisi de programme Manip 6 1- En vous servant des procédures d’accès mémoire des manips 2 et 3, saisir le programme ci-dessus en saisissant la colonne 2 du tableau de la figure 5 dans la colonne 1, du uploads/Litterature/ 11181ez.pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 11, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.6634MB