- Selon le modèle de Von Neumann, un ordinateur est composée de :
- Une mémoire principale : Permet de stocker les informations (programmes et données)
- Un microprocesseur : Chargé d'interpréter et d'exécuter les instructions d'un programme.
- Interfaces d'entrées et sorties E/S : Permet au microprocesseur de communiquer avec les périphériques externes.
- Bus d'adresses et données : Ensemble de fils conducteurs ou broches qui transporte des signaux binaires.
Questions de cours
- Question 1
- Question 2
- Question 3
- Question 4
- Question 5
- Question 6
- Question 7
- Question 8
- Question 9
- Question 10
- Question 11
- Question 12
- Question 13
- Question 14
- Question 15
- Question 16
- Question 17
- Question 18
- Question 19
- Question 20
- Question 21
- Question 22
- Question 23
- Question 24
- Question 25
- Question 26
- Question 27
- Question 28
- Question 29
- Question 30
Question 1
- Quelles sont les différentes composantes d'un ordinateur, expliquer leurs fonctionnalités ?
Correction
Question 2
- A qoui sert la segmentation de la mémoire ?
- La segmentation de la mémoire est une méthode pour diviser la mémoires en segments par example : CS (Code segment), DS (Data segment), SS (Stack Segment), etc... .
Correction
Question 3
- Qu'est ce qu'un registre ?
- Un registre est un mémoire de petite taille, très rapide, utilisée pour conserver temporairement les données, instructions ou adresses.
Correction
Question 4
- Citer et classer les différents registres d'un micro-processeur 80x86 ?
- Registres généraux: AX, CX, BX, DX
- Registres Segments: CS, DS, SS, ES (Extra Segment)
- Registres de l'offset: IP, BP, SP
- Registres des indicateurs: OF, CF, ZF, NF, ...
- Remarque :L'ordre est importante !!!
Correction
Question 5
- Qu'est-ce qu'une pile ?
- La pile est une zone mémoire et une pointeur qui pointe sur la sommet de la pile.
Correction
Question 6
- Quels sont les registres utilisés pour manipuler une pile ?
- Registre SS (Stack Segment/Segment Pile) : Registre qui conserve l'adresse de la pile.
- Registre SP (Stack Pointeur/Pointeur Pile) : Registre qui pointe sur le sommet de la pile.
Correction
Question 7
- Quels sont les instructions utilisées pour manipuler une pile ?
- Il existe deux instructions pour manipuler une pile :
- PUSH registre : Empiler le contenu du registre sur la pile.
- POP registre : Retire la valeur en haut de la pile et la place dans le registre spécifié.
Correction
Question 8
- Donner les instructions qui permettent d'afficher une chaîne de caractères
Correction
MOV DX, offset chaine MOV AH, 09H INT 21H
Question 9
- Donner les instructions qui permettent de lire une chaîne de caractères
Correction
MOV DX, offset chaine MOV AH, 0AH INT 21H
Question 10
- Donner les instructions assembleur qui permettent d'afficher un caractère
Correction
MOV DL, AL MOV AH, 02h INT 21H
Question 11
- Donner les instructions assembleur qui permettent de lire un caractère
Correction
MOV AH, 01h INT 21H
Question 12
- Quelle est l'adresse complète d'une donnée
- L'adresse complète d'une donnée est la combinaison de DS (Data Segment) et l'adresse
de donnée manipulée.
DS:Adresse
Correction
Question 13
- Quelle est l'adresse complète d'une instruction
- L'adresse complète d'une instruction est la combinaison de CS (Code Segment) et
l'adresse IP de l'instruction à exécuter.
CS:IP
Correction
Question 14
- Expliquer par l'exemple les adressage suivants :
- - immédiat:
- - implicite:
- - relatif:
- - direct:
- - indirect:
- - immédiat : Le code opérand est une donnée (Une valeur) : MOV AH, 5
- - implicite : L'instruction contient seulement le code d'opération : INC AX
- - relatif : Le code opérand contient l'adresse qui séra ajouté au IP adresse: JMP 0110h
- - direct : Le code d'opérand est l'adresse de donnée : MOV AX, [0110h]
- - indirect : Le registre BX contient l'adresse de donnée : MOV AX, [BX]
Correction
Question 15
- Donner les définitions des notions suivantes :
- - Segment:
- - Registre:
- - Bus:
- - Segment : Une zone mémoire adressable.
- - Registre : Un mémoire de pétite taille, très rapide, utiliser pour conserver temporairement une donnée, instruction ou adresse.
- - Bus : Ensemble de fils conducteurs ou broches qui transporte des signaux binaires.
Correction
Question 16
- Donner deux instructions de branchement conditionnel :
- JE (JZ): Saut si zero
- JNE (JNZ): Saut si non-zero
Correction
Question 17
- Donner deux instructions de branchement inconditionnel :
- JMP adresse: Saut à l'adresse
- CALL nom_proc: Appeler la procedure
Correction
Question 18
- Quelles sont les composantes d'un micro-processeur :
- Unité de commande et contrôle
- Unité arithmetique et logique (Unité de traitement) U.A.L
- Registres
- Décodeur
- Bus d'adresses et de données
- Horloge
Correction
Question 19
- Quel est le rôle des interfaces d'entrées/sortie :
- Permet au microprocesseur de communiquer avec les périphériques externes.
Correction
Question 20
- Donner et expliquer deux modes de passage de paramètres à une procédure :
- Passage par registre : Les valeurs de paramètres sont contenues dans les registres de microprocesseur.
- Passage par pile : Les valeurs de paramètres sont empilées et la procédure lit la pile.
Correction
Question 21
- Donner les instructions pour déclarer un segment de données :
- Pour déclarer un segment de données il faut initialiser le segment par le directive data SEGMENT et le terminer avec le directive data ENDS
Correction
data SEGMENT ; Déclarations data ENDS
Question 22
- Donner les instructions pour déclarer un segment d'instructions :
- Pour déclarer un segment d'instructions il faut initialiser le segment par le directive code SEGMENT,la directive ASSUME pour indiquer à l'assembleur quel est le segment de données et instructions, et le terminer avec le directive code ENDS
Correction
code SEGMENT ASSUME DS: nom_data, CS: code ; instructions code ENDS
Question 23
- Donner les instructions pour initialiser le registre DS :
Correction
MOV AX, nom_data MOV DS, AX
Question 24
- Quel est le rôle du registre IP :
- Le registre IP conserve l'adresse de l'instruction suivante à exécuter.
Correction
Question 25
- A qoui sert le registre AX :
- Registre accumulateur, utiliser pour les opérations arithmétiques et d'E/S .
Correction
Question 26
- A qoui sert le registre BX :
- Registre de base, utilisé pour adresser les données en mémoire(e.g: MOV AH, [BX]).
Correction
Question 27
- A qoui sert le registre CX :
- Registre compteur, utilisé pour boucles et les décalages.
Correction
Question 28
- A qoui sert le registre DX :
- Registre de données, utilisé pour les opérations E/S et la multiplication/division.
Correction
Question 29
- Comment calculer l'adresse physique/effective d'un octet :
- L'adresse physique/effective d'un octet est calculer par la formule suivante :
Correction
Adresse physique = Segment x 16 + offset
Question 30
- Expliquez le changement de l'état de registre IP lors d'un appel de procédure :
- Aprés l'appel, la procédure empile la valeur de IP qui pointe sur l'instruction qui suit le CALL.
- Placer dans IP l'adresse de la première instruction de la procédure.
- L'instruction RET dépile la valeur initiale de IP.