Sujet
Une table de données consiste en une liste de données quelconques logées en mémoire à des adresses successives.
L'adresse de la première donnée est qualifiée d'adresse de base de la table.
Question 1
Proposer un programme permettant de ranger en mémoire dans l'ordre croissant l'ensembles des données 8 bits non signées à partir de l'adresse de base $0100.
Commentaires
La plage des nombres non signés s'étend de $00 à $FF. Il faudra donc charger la mémoire avec ces 256 valeurs (...)
[...] Pour corriger l'erreur on choisira également d'exprimer le résultat sur 16 bits ce qui nécessite d'effectuer une extension de signe qui consiste à recopier le bit C sur l'ensemble de l'octet de poids fort. Considérons par exemple l'addition suivante 11100011 10000001 101100100 Résultat faux sur 8 bits correct sur 9 bit avec C = bit de signe Pour exprimer ce résultat sur 16 bits il faut étendre le signe : R = = Dans le programme proposé, les opérandes A et B à additionner sont placés aux adresse $0050 et $0051, le résultat de l'addition en non signé à l'adresse $0052 (et $0053 si la somme s'exprime sur l 6 bits) et le résultat de l'addition signée à l'adresse $0054 (et $0055 pour une somme sur 16 bits). [...]
[...] Programme . Tri de données MAX et MIN en signé . MIN MAX TABLE Boucle EQU EQU EQU $0050 $0060 $1200 * Déclaration de l'adresse du MAX * Déclaration de l'adresse du MIN * Déclaration du pointeur de fin de table ORG LDX LDA STA STA CMPX BEQ LDA CMPA $0000 #TABLE >MAX >MIN #TABLE+10 FIN >MAX * * * * * * * * * Début du programme Chargement du pointeur Chargement et incrémentation du pointeur Mémorise la 1ere valeur dans MAX Mémorise la 1ere valeur dans MIN Si le pointeur dépasse la fin de la table alors FIN Chargement et incrémentation du pointeur Si A > MAX Hight P4 Détermination du maximum ou du minimum d'une table 10 Systèmes à Microprocesseurs 6809 Hight Low FIN BGT LDA CMPA BLT LDA BRA LDA STA BRA LDA,X+ STA BRA SWI ORG FCB Hight >MIN Low Boucle >MAX Boucle >MIN Boucle * Chargement et incrémentation du pointeur * Si A [...]
[...] Si aucune interruption n'est demandée, le chenillard recommence en début de table. Programme DDRA ORA CRA EQU EQU EQU $8000 $8000 $8001 * * Définition des adresses de port DDRA, ORA, CRA * ORG $0000 * Début du programme à l'adresse $0000 * INITIALISATION DU PIA CLRA STA LDA STA CRA DDRA P2 Etude des Interruptions * * * * Effacement de A Stock A dans CRA pour accès à DDRA Place le port A en sortie Systèmes à Microprocesseurs 6809 LDA STA CRA * Demande d'accès à ORA et validation des * interruptions. [...]
[...] Tri de données paires ou impaires . TABLE EQU FIN_TAB EQU Boucle Pair FIN $1000 $1009 * Déclaration du début de table * Déclaration du pointeur de fin de table ORG LDX CMPX BEQ LDA ANDA CMPA BEQ LDB INCB STB BRA LDB INCB STB BRA SWI $0000 #TABLE #FIN_TAB+1 FIN Pair >$0050 * * * * * * * ORG FCB $1000 * Début de la TABLE 1,2,3,4,5,6,7,8,9,0 >$0050 Boucle >$0051 >$0051 Boucle Début du programme Chargement du pointeur Si le pointeur dépasse la fin de la table alors FIN Chargement et incrémentation du pointeur ET logique avec $11 pour connaître la parité Si A = 0 la donnée est paire Pair * Sinon la donnée est impaire * Incrémentation du compteur * Mémorisation du compteur * La donnée est paire * Incrémentation du compteur * Mémorisation du compteur Etat de la mémoire après exécution du programme P2 Dénombrement de données spécifiques dans une table 5 Systèmes à Microprocesseurs 6809 Résultat du dénombrement Table des données Question 3 Proposer un programme permettant de compter le nombre de données d'une table dont le bit b3 est égal à 1. [...]
[...] ADR1 et ADR2 sont les P5 Transfert d'une table de données d'une zone mémoire vers une autre 13 Systèmes à Microprocesseurs 6809 adresses de base de ces tables. On souhaite construire une troisième table, d'adresse de base ADR3, dont chaque élément résulte de l'addition des éléments de même rang des deux premières tables. Proposer le programme correspondant. Commentaire Le fait d'avoir trois tables de données, impose d'utiliser le pointeur pour pointer à la fois la table 1 et la table 2. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture