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 les
entré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 les
interrupteurs). Une fois le nombre entré, le joueur valide sa saisie en appuyant sur le
bouton IA1 (géré par test d'état) et passe la main au joueur 2 après avoir remis les
interrupteurs en position basse (0).
Le joueur 2 commence à jouer en saisissant lui aussi un nombre entre 0 et 255 sur
les interrupteurs. Il valide ensuite sa saisie par l'appui du bouton IA2 (géré par
interruption). 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 est
infé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ée
comme terminée.
Questions :
1. Initialiser correctement le port d'entrée/sortie parallèle pour que le bouton IA1 soit
géré par test d'état et que IB1 soit géré par interruption. Il est demandé à cette
question d'initialiser tous les registres et adresses mémoires nécessaires à la gestion
de 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 le
nombre 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 de
votre programme principal.

Inférieur / supérieur

  • 1.
    Examen de TPd'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 les entré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 les interrupteurs). Une fois le nombre entré, le joueur valide sa saisie en appuyant sur le bouton IA1 (géré par test d'état) et passe la main au joueur 2 après avoir remis les interrupteurs en position basse (0). Le joueur 2 commence à jouer en saisissant lui aussi un nombre entre 0 et 255 sur les interrupteurs. Il valide ensuite sa saisie par l'appui du bouton IA2 (géré par interruption). 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 est infé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ée comme terminée. Questions : 1. Initialiser correctement le port d'entrée/sortie parallèle pour que le bouton IA1 soit géré par test d'état et que IB1 soit géré par interruption. Il est demandé à cette question d'initialiser tous les registres et adresses mémoires nécessaires à la gestion de 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 le nombre 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 de votre programme principal.