Vous êtes sur la page 1sur 3

IUT Villetaneuse Architecture des ordinateurs Jeudi 7 fvrier 2002

GTR 1re anne Contrle de Travaux Pratiques p1/3

N OM - Prnom : Groupe:: Contrle de TP


A B C
Poste:: Travail laide dun ordinateur sur compte spcial contrle
Note : /30 Dure 1h45 ; Calculatrice, cours et compte-rendus de TP autoriss
Lire attentivement le sujet et rpondre sur la feuille.
Lvaluation est faite dune part en cours dexamen chaque tape repre par Point de contrle, dautre part
par le compte-rendu (rpondre sur cette feuille de sujet). A chaque vrification, veillez montrer le source du
programme (en mettant en vidence la partie relative la question traite) et montrez le rsultat de son excution.
Sujet :
Le sujet pourrait se rsumer ainsi :
Ralisez un programme qui identifie les lecteurs de disquettes.
Evidemment, sans aide ce serait pratiquement impossible, donc suivez le cheminement propos :
- respectez le dcoupage en procdures,
- respectez les passages de paramtres demands,
- observez les recommandations suggres.
Pour toute autre chose, vous tes libre de procder comme vous le dsirez. Il est prfrable
dadopter une technique rigoureuse telle que celle de la compilation C, mais ce nest pas une
obligation ( vos risques et prils).
Pour tester indpendamment chaque procdure (ce qui est vivement recommand ds que vous en
crivez une nouvelle), il vous faudra faire des programmes supplmentaires (non valus). Lordre
des questions du sujet devrait vous aider tester vos procdures.
I. Executable
1. Quelles sont les tapes ncessaires la cration d'un programme excutable ?
/2

2. Ecrivez un programme qui ne fait rien, mais qui fonctionne.


/4 Point de contrle.
II. Procdure
Les instructions qui suivent permettent dafficher en binaire le contenu du registre DH :
MOV AH,2 ADD DL,30h
MOV CL,8 INT 21h
NxtBit: ROL DH,1 DEC CL
MOV DL,1 JNZ NxtBit
AND DL,DH
Insrez ces lignes dans une procdure AL2Scr qui affiche le contenu de AL en binaire sans
modifier aucun registre. Testez cette procdure.
/6 Point de contrle.
III. Donnes
Dclarez dans le segment de donnes des chanes de caractres que vous allez utiliser pour afficher
des messages relatifs au programme. Voici ce que ces messages devront afficher :
Msg_dkA : Lecteur A : Msg_ty2 : 5"1/4 1.2 Mo
Msg_dkB : Lecteur B : Msg_ty3 : 3"1/2 720 Ko
Msg_ty0 : non connect Msg_ty4 : 3"1/2 1.4 Mo
Msg_ty1 : 5"1/4 360 Ko
(Toutes les chanes font la mme taille ; les deux premires ont un espace aprs le :)
IUT Villetaneuse Architecture des ordinateurs Jeudi 7 fvrier 2002
GTR 1re anne Contrle de Travaux Pratiques p2/3

Pour reprer ces chanes dans le segment de donnes, vous allez dclarer des variables :
Ptr_dkA, Ptr_dkB, Ptr_ty0, Ptr_ty1, Ptr_ty2, Ptr_ty3, Ptr_ty4.
1. Donnez les instructions qui permettent dinitialiser correctement Ptr_dkA.
/2

2. Ecrire un programme qui affiche le message Msg_dkA puis le message Msg_ty0.


/4 Point de contrle.
IV. Entres/sortie
Lorsque on teint lordinateur, toutes les donnes en RAM disparaissent. Le BIOS en ROM nest
pas sujet ce problme. Cependant certaines informations comme le type de lecteur de disquette
connect ne peuvent tre prdfinis (vous pouvez changer ou enlever le lecteur). Par ailleurs
certaines informations comme lheure ne peuvent tre sauvegard sur disque (a change tout le
temps). Il est donc ncessaire de sauvegarder un certain nombre dinformations dans une mmoire
alimente par pile lectrique : cest ce que fait le Real Time Clock (MC 146818 de Motorola) qui
change lheure dans une RAM CMOS dau moins 68 octets.
CE priphrique est accessible par deux adresses dentre sortie (que nous appellerons ports) : le
port 70h (@I/O 70h) et le port 71h (@I/O 71h). Pour accder lespace de la RAM CMOS
connecte, il faut dposer ladresse de la case RAM CMOS dsire sur le port 70, puis on y a accs
par le port 71.
Exemple : Ports I/O RTC
lecture de @CMOS 14h RAM
@I/O CMOS
Bus @ RTC Dcodeur
Bus @ P Dcodeur 70 dadresse
dadresse
IO/M 71 14
R/W
Bus data P Bus data RTC

1. Donnez les instructions pour aller lire le contenu de ladresse 0h de la RAM CMOS.
/2

2. Ecrire un programme qui affiche le contenu de ladresse 0 dans la RAM.


Notez quil sagit des secondes de lheure courante, codes en BCD. Utilisez la procdure du II.
/4 Point de contrle.
V. Programme
Loctet 10h octet contient le descripteur des lecteurs de disquettes. Le quartet de poids fort
concerne le lecteur A, le quartet de poids faible concerne le lecteur B (0 : pas de lecteur, 1 : lecteur
360Ko, 2 : lecteur 1.2Mo, 3 : lecteur 720Ko, 4 : lecteur 1.44Mo).
1. Ecrire un programme qui affiche le quartet descripteur du type de lecteur A.
/2 Point de contrle.
2. Ecrire un programme qui affiche le type du lecteur A avec les messages du segment de donnes
/4 dfinis au III.
Point de contrle.
Nom, premnom, poste
GTR 1re anne
IUT Villetaneuse

Point dentre,
sortie retour au DOS
I. /4

Source -> Excution

Procdure, appel
II. /6

Sauvegarde registres
(AX, CX et DX)
Fonctionne
(affiche le nombre)
Fonction DOS n9,
$ en fin des chanes
Architecture des ordinateurs
Contrle de Travaux Pratiques

III. /4

Fonctionne (affiche)

Fonctionne (affiche)
IV. /4
Feuille de notation des points de contrle

Vrifiez lanalyse
(commenter le dcalage
V. /4

de 4bits pour passer du


lecteur A au B)
Fonctionne (affiche)
Jeudi 7 fvrier 2002
p3/3