inférieur / supérieur

1
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.

Upload: benjamin-vidal

Post on 29-Jul-2015

15 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Inférieur / supérieur

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.