inférieur / supérieur
TRANSCRIPT
Examen de TP d'assembleur 68K
Durée : 45 minutes
Licence d'informatique 3ème année 2003-2004
Module 6
Inférieur / Supérieur
Note : Ne sont autorisés que les polycopiés sur le processeur 68K et sur lesentrées/sorties parallèles.
Principe du jeu :
Le premier joueur entre un nombre entre 0 et 255 à l'aide des huit interrupteurs(ou “clés” dans les sujets de TP) du port d'entrée parallèle (lu en binaire sur lesinterrupteurs). Une fois le nombre entré, le joueur valide sa saisie en appuyant sur lebouton IA1 (géré par test d'état) et passe la main au joueur 2 après avoir remis lesinterrupteurs en position basse (0).
Le joueur 2 commence à jouer en saisissant lui aussi un nombre entre 0 et 255 surles interrupteurs. Il valide ensuite sa saisie par l'appui du bouton IA2 (géré parinterruption). Le système allume alors les quatre diodes de fort poids (CB7, CB6,CB5 et CB4) si le nombre est supérieur à celui rentré par le joueur 1 et,respectivement, les diodes de faible poids (CB3, CB2, CB1 et CB0) si le nombre estinférieur.
Le joueur 2 pourra alors corriger sa saisie jusqu'à ce qu'il trouve le nombre entrépar le joueur 1. Dans ce cas, les huit diodes s'allument et la partie est considéréecomme terminée.
Questions :
1. Initialiser correctement le port d'entrée/sortie parallèle pour que le bouton IA1 soitgéré par test d'état et que IB1 soit géré par interruption. Il est demandé à cettequestion d'initialiser tous les registres et adresses mémoires nécessaires à la gestionde IB1 par interruption (sr, vrb, vbr, table de vecteurs de branchements).
2. Ecrire, à la suite des initialisations, un programme qui gère le joueur 1 et range lenombre saisi dans D0. Ce programme devra être testé.
3. Ecrire un sous programme de traitement d'interruption (terminé par l'instruction“rte”) qui gère le joueur 2 (utilisant le registre D0 comme paramètre d'entrée).Tester l'intégralité de votre programme en ajoutant une boucle infinie à la suite devotre programme principal.