Ecole Supérieure de Technologie de Béni Mellal Université Sultan Moulay Slimane
Ecole Supérieure de Technologie de Béni Mellal Université Sultan Moulay Slimane
Ecole Supérieure de Technologie de Béni Mellal Université Sultan Moulay Slimane
3
TD Microprocesseur 6809
TD 2 suite :
Une table de données est un ensemble de données logées successivement dans la
mémoire. L'adresse de début de l’ensemble forme l’adresse de base de la table tandis
que le nombres de données forme la longueur.
Notons Table(Adr_Base, Longueur)
5/ La chaine de caractères "ESTBM" terminée par le caractère NUL ‘0’ est placée
dans la RAM à partir de l’adresse $0100.
a. Déterminer l’adresse de base et la longueur de cette table.
b. Transférer cette table à l’adresse $0000. Visualiser l’opération sur l’émulateur
6/ Écrire un programme assembleur permettant de déplacer une table T($0100,$20)
vers l’adresse $0200. Visualiser l’opération sur l’émulateur
7/ Soit la table T($0100, L) logée dans la RAM, écrire un programme assembleur
permettant de déterminer la longueur L de cette table T sachant que sa fin est
marquée par le délimiteur NUL ‘0’ et sauvegarder le résultat dans l’adresse $0200.
Visualiser l’opération sur l’émulateur.
4
TD Microprocesseur 6809
TD 3 :
1/ Mettre les nombres positifs suivants dans la RAM à partir de l’adresse $0100,
écrire un programme assembleur permettant de déterminer le minimum de ces
nombres et de le stocker dans l’adresse mémoire $0108. Visualiser l’opération sur
l’émulateur
Table ($0100, $08) = {$10, $12, $07, $00, $FF, $77, $36, $24}
2/ Modifier le programme précèdent pour trouver le maximum de ces nombres et le
stocker dans l’adresse mémoire $0109.
Visualiser l’opération sur l’émulateur.
3/ Modifier le programme précèdent pour déterminer la position de l’élément nul
dans la table et son adresse physique dans la RAM.
Stocker la position dans la mémoire à l’adresse $0108 et l’adresse physique à partir
de l’adresse $0109.
Visualiser l’opération sur l’émulateur.
5
TD Microprocesseur 6809
TD 3 suite :
4/ Écrire un programme assembleur permettant de faire la somme membre à
membre des tables de nombres positifs suivants. Stocker les résultats à partir de
l’adresse mémoire $0120.
Visualiser l’opération sur l’émulateur
Table1 ($0100, $08) = {$10, $12, $07, $00, $FF, $77, $36, $24}
Table2 ($0110, $08) = {$13, $22, $37, $69, $03, $88, $25, $11}
Table3 ($0120, $08) = {$23, $34, xx, xx, xx, xx, xx, xx}
5/ Modifier le programme précèdent pour sommer les tables à l'envers (le premier
élément de la Table1 et le dernier élément de la Table2 et ainsi de suite), Stocker
les résultats à partir de l’adresse mémoire $0150.
Visualiser l’opération sur l’émulateur
6/ Modifier le programme précèdent pour scruter la table à la recherche des
nombres négatifs, calculer leurs CA2 et les stocker à partir de l’adresse mémoire
$0170.
Visualiser l’opération sur l’émulateur.
6
Code ASCII (American Standard Code for Information Interchange)