Académique Documents
Professionnel Documents
Culture Documents
David Delfieu
September 6, 2017
Contents
1 Présentation et mode d’emploi du système d’évaluation développé autour du 68000 2
1.1 Présentation du système d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Caractéristiques du 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Format des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Le moniteur et ses commandes (Tome 1 Chap 4) . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 La commande EDIT du moniteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Transfert entre le disque dur du P C et la carte . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 La commande ASM du moniteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.4 Les autres commandes du moniteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.5 COMMANDE DU DEBUGGER (CHAP 5) . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Routines systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1 Routines BIOS : (Basic Input Output System) . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Routines RDOS (RAM -DISK OPERATING SYSTEM) . . . . . . . . . . . . . . . . 8
1.4.3 Procédure d’appel d’une routine RDOS . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.4 L’ensemble de routines RDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Compte Rendu 14
1
Présentation du programme d’informatique industrielle en GE4
L’objectif de ce T P est de vous familiariser avec les microprocesseurs 16 bits et de vous initier à l’utilisation
d’un microprocesseur et ses périphériques dans une chaîne de commande. Ce T P projet se déroulera sur 2
séances.
Ce système basé à partir d’un 68000 est constitué d’une carte mère comportant le microprocesseur,
la RAM , É et d’une carte fille contenant les éléments de communication avec l’extérieur, c’est à dire le
moteur. On appelle l’ensemble, un système d’évaluation car elle permet de créer des fichiers, de debugger
et d’exécuter tout type de programme en langage assembleur 68000.
• Horloge : 8 MHz
• Mémoire :
• Entrée /sorties :
Deux des connecteurs 50 points C1 et C4 sont reliés à la carte fille qui est une carte d’interface destinée
à la commande en courant et en vitesse d’un moteur à courant continu. Elle contient pour cela un P IA,
des Convertisseurs Analogiques/Numérique, un multiplexeur analogique, ...
Périphériques de la carte mère
2
• Parallel Interface Adapter : P IA
1. Sous W indows : Dans votre répertoire users, créer un répertoire identifiant les T P de 68000 puis
dans ce répertoire, créer un répertoire identifiant votre groupe de T P et dans ce répertoire un sous
répertoire identifiant votre binôme(un seul nom abrégé à 8 caractères). Enfin dans ce sous-répertoire
créer un répertoire se rapportant à votre séance de T P . Exemple :
2. lancer Serial_Com
Loader la session EM 1000
Conseil Après avoir lancé le moniteur, vous êtes dans un minisystème d’exploitation et vous pouvez à ce
titre éditer votre programme utilisateur à l’aide de la commande edit nom.asm. Votre fichier est alors écrit
dans la RAM statique utilisateur. Un reset intempestif n’affecte pas la ram et donc n’a pas d’influence
sur votre programme, par contre une coupure accidentelle de l’alimentation efface la RAM et donc détruit
votre programme.
Nous vous conseillons donc d’écrire votre programme sur le disque dur du P C par un éditeur classique
N oteP ad + + puis de rapatrier votre fichier sur la carte à l’aide de la touche F7
3
1.2 Caractéristiques du 68000
Le 68000 possède 18 registres :
• D0 − D7 sont l’équivalent des accumulateurs, c’est à dire ce sont des registres sur lesquels on peut
effectuer des opérations arithmétiques celles-ci ont de plus, la particularité d’affecter le registre d’état
(SR).
4
1.3 Le moniteur et ses commandes (Tome 1 Chap 4)
1.3.1 La commande EDIT du moniteur
Le moniteur M C1000 possède son propre éditeur qui s’appelle par la commande :
>EDIT fichier.asm
C’est un éditeur pleine page (23 lignes, 80 colonnes) qui permet de créer ou de modifier des fichiers
textes. La taille du fichier texte est limitée par l’espace utilisateur : 65536 octets.
Les commandes les plus importantes sont les suivantes :
• CT RL/G : Commande de manipulation de bloc, cette commande nécessite une lettre supplémentaire
pour l’exécution de la commande :
• Vous pouvez copier 3 ou 4 lignes sous l’éditeur, mais nous vous conseillons de les réécrire sur la fenêtre
Serial_com
5
1.3.3 La commande ASM du moniteur
Syntaxe : ASM Nom_fichier [-options]
ou options
−X : En plus du fichier binaire est crée une table des symboles. Cela permet lors du deboggage de
récupérer l’ensemble des étiquettes symboliques (boucles, variables, nom de sous-programmes, É).
−L : Génère un listing de compte-rendu d’assemblage ou figurent les adresses, le code binaire, et le code
source. Ce fichier permet de repérer les erreurs d’assemblage et de visualiser à quelle adresse sont
implantées les variables, ainsi que la pile. Il permet donc de debogger une erreur assez pernicieuse,
celle ou la pile est implantée à une adresse impaire.
6
• DM P : Dump mémoire
• IN I : Réinitialisation du programme
• LST : Désassemblage
• N BL : Nombre de lignes
• P T R : Pointeur adresse
• QU I : Retour au moniteur
7
EXEMPLE : Affichage à l’écran d’un caractère présent dans le registre D1 :
MOVE D1,-(A7)
MOVE #2,-(A7)
MOVE #2,-(A7)
TRAP #13
ADDQ.L #6,A7
• Pour la restauration de la pile, taille est la somme des tailles des paramètres +2, (2 pour le numéro
de fonction de la routine).
• Le registre D0 est le seul registre modifié après l’appel d’une routine. Au retour, son contenu représente
le compte rendu de l’exécution de la routine.
8
LEA bonjour(PC),A1
MOVE.L A1,-(A7)
MOVE.W #9,-(A7)
TRAP #1
ADDQ.L #6,A7
MOVE #7,-(A7)
TRAP #1
ADDQ.L #2,A7
• $07 : Lecturée du clavier sans écho à l’écran. Le caractère saisie est dans D0.
• $08 : idem
• $09 : Sortie d’une chaîne sur l’écran. Met D0 à zéro si l’affichage est correct.
9
• $41 : Supprimer un fichier
• $76 : Sorties d’une chaîne sur l’écran et saisie d’une autre chaîne au clavier
10
2 Enoncés des 2 séances de T P
2.1 Introduction
Ces séances consistent à écrire un programme permettant une communication souple et interactive entre
l’utilisateur et le 68000. Pour cela on va réaliser une page de présentation. Cette page de présentation sera
construites à l’aide de codes ASCII à fonctions spéciales : Certains permettent de bouger le curseur :
• L’effacement de l’écran est obtenue par la séquence suivante : $1B,$5B,$32,$4A,0,0 (4 octets consé-
cutifs + 2 zéros)
2.2 Scéance 1
2.2.1 Prédetermination
1. Ecrire le sous-programme LCAR qui permet de lire un caractère à la volée sans echo. Ce sous
programme renvoie le caractère saisie dans D3.
2. A partir du cours, écrire un sous-programme LIRECHIF qui utilise LCAR qui saisie des nombres
compris entre les constantes 0 et 3 passée en paramètres par les registres D1 et D2 en considérant le
programme principal suivant :
1 PROG EQU $0FF0000
ORG PROG
3 LEA PILE (PC) , A7
5 MOVE.B #$30 , D1
MOVE.B #$33 , D2
7 BSR LIRECHIF
9 TRAP #0
DS.L 100
11 PILE DS.L 1
END
11
Effacement de
l'Ecran
Page de
Présentation
du binôme
Saisie d'un
touche sans
écho
Effacement de
l'Ecran
Saisie de la
consigne en
tension
Conversion en
un chiffre
hexadécimal
Saisir une
touche pour
recommancer
12
2.2.2 Travail à réaliser
L’organigramme de ce qui est demandé est donné dans la figure 2.2.2 :
2. Ecrire un sous-programme AFFICH qui permet d’aficher une chaîne de caractères passée en paramètre
par le registre A1 .
2.3 Scéance 2
2.3.1 Prédetermination
Faire un algorithme précisant le cahier des charges que vous avez choisi pour la saisie robuste.
• Si la caractère attendu est un signe si l’utilisateur ne tape pas "+" ou "-" (codes ASCII $2B ou
$2D), il ne doit pas voir d’écho.
• Si le caractère attendu n’est pas un chiffre (le code ASCII est compris entre $30 et $39), alors il ne
doit pas y avoir d’écho.
En fin de programme vous devez réaliser une conversion ASCII-Hexadécimal. A mesure de la saisie, on
va reconstruire le nombre en hexadécimal. Les codes ASCII des chiffres sont :
• ...
La conversion de chaque chiffre composant le nombre s’obtient en retranchant $30 au caractère saisie. Puis
pour obtenir le résultat final, on multiplie par la puissance de 10 correspondant à son rang pour la valeur
78 : D1 ← ($37 − $30) ∗ 10 + ($38 − $30)
Le 68000 calculera évidemment en hexadécimal et on rangera le résultat dans un registre (par exem-
ple D1 ) Attention: on tiendra compte du signe de la consigne: on complémentera (l’opération de CA2
correspond à l’instruction N EG) le résultat si la consigne est négative.
13
3 Compte Rendu
Un seul compte rendu, qui doit porter sur la saisie robuste, devra être rendu sous forme papier ou élec-
tronique en pdf sur le depot MADOC au plus tard une semaine après la réalisation du second TP. Les
paramètres de correction seront les suivant :
* Clarté de l’exposé ;
* Difficulté choisie ;
* Présence d’un organigramme.
• Style du codage :
• Rapport :
14