Vous êtes sur la page 1sur 10

Ecole Nationale d’Ingénieurs de Sousse A.

U :2018/2019
IA1.1

• PROJET MODULE :
• MICROPROCESSEUR ET ASSEMBLEUR

Jeu d’Allumettes
• Réalisé Par :
o Hadhami Rjiba
o Haythem Hmila
• Enseignante : Mme. Abdel Hedi Manel

1
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

• Objectif
Ecrire un jeu des allumettes en assembleur permettant à deux joueurs de prendre 1,2 ou 3
allumettes dans le tas à tour de rôle. Le joueur avec la dernière allumette gagne.

• Description
- Le Micro-processeur :
Le microprocesseur est la pièce principale d’un ordinateur. C’est un processeur (CPU :
Central Processing Unit) miniaturisé qui tient dans un seul circuit intégré. Il gère l’exécution
des instructions de l’ordinateur.
Un microprocesseur se caractérise par différentes fonctions. La première est le jeu d'instructions
qu'il est capable d'exécuter, pouvant aller de dizaines à des milliers d'instructions différentes.
La deuxième est la complexité de son architecture qui se mesure par le nombre de transistors
présents : plus ce nombre est élevé, plus la complexité des tâches à traiter peut augmenter. La
troisième est la vitesse de son horloge qui dicte le rythme de travail. Enfin, le microprocesseur
se caractérise par le nombre de bits qu'il peut traiter (4 à ses débuts, 128 en 2011). À sa création,
il était capable d'effectuer un peu moins d'un million d'instructions par seconde. Aujourd'hui, il
en traite plus de 10 milliards.

- Caractéristiques d’un Microprocesseur :


Un microprocesseur est défini par :

• Des caractéristiques physiques :


➢ Type de connexion
➢ Nombre de fils de communication
➢ Capacité de mémoire cache interne
➢ Sa forme
• Des Caractéristiques électriques :
➢ Sa tention de fonctionnement (2 ,3,4,5 .. volts)
➢ Sa puissance consomée
➢ Sa vitesse de fonctionnement exprimée en Mégahertz

2
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

• Des caractéristiques logiques :


➢ Son architecture RISC( Reduced Instruction Set Calculator ) : avec une fréquence assez
élévée , ou son architecture CISC (Complete Instruction Set Calculator ) : avec un jeu
d’instruction le plus complet possible
➢ Son jeu d’instrucions : le MIPS ( million d’instructions par seconde )

• Le microprocesseur Intel 8086 :


Développé en 1978 par Intel, le microprocesseur 8086 est un processeur CISC 16 bits. Il s’agit
du premier microprocesseur de la famille des « x86 » comprenant les célèbres 80386 et 80486.
Ses caractéristiques principales sont les suivantes :
• Bus de données d’une largeur de 16 bits
• Bus d’adresses de 20 bits, ce qui permet d’adresser un total de 1 mégaoctet de mémoire.
• 14 registres de 16 bits dont un registre d’état contenant des indicateurs binaires.

La mémoire est segmentée en 16 blocs de 64 Ko et une adresse sur 20 bits est obtenue en
combinant deux parties :
• Le registre CS permet de stocker les 4 bits de poids fort donnant le numéro de segment
de mémoire ;
• Le registre IP fournit les 16 bits de poids faible donnant l’adresse à l’intérieur du
segment de mémoire spécifié par CS
L’adresse Mémoire est retrouvée selon la formule :
Adresse=(16*CS) +IP
Le 8086 autorise un mode de fonctionnement en pas à pas, ainsi que l’utilisation d’opérations
spécifiques appelées interruptions permettant au 8086 de « dialoguer » avec les autres
périphériques de l’ordinateur.

• Les registres du 8086 se décomposent en 4 grandes familles :

3
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1
❖ 4 registres de données, se décomposant chacun en deux parties : une partie « haute » et une
partie « basse » de 8 bits chacune, ce qui permet au microprocesseur de manipuler des
données sur 8 ou 16 bits :
- AX (décomposable en AH et AL) sert d’accumulateur et est principalement utilisé lors
d’opérations arithmétiques et logiques.
- BX est la plupart du temps utilisé comme opérande dans les calculs.
- DX tout comme AX, est utilisé pour les calculs arithmétiques.
- CX est utilisé comme compteur dans les structures et notamment dans la division et la
multiplication. Il intervient également dans les opérations d’entrées/sorties.

❖ Registre de segmentation
-CS (segment de code) permet de déterminer les
adresses sur 20 bits ;
-DS (segment de données) ;
-SS (segment de pile) ;
-ES (segment supplémentaire).
❖ Registre Pointeurs ou d’index
-SP (pointeur de pile) pointe sur le sommet de la pile de
données ;
-BP (pointeur de base) pointe sur la base de la pile de
données ;
-SI (index de source) ;
-DI (index de destination).
❖ Pointeur d’instruction :
IP stocke l’adresse de la prochaine instruction à exécuter par le microprocesseur.

Un registre spécial contenant 9 indicateurs binaires nommés « flags »


Plusieurs versions du 8086 existent, avec différents types de boitier et plusieurs fréquences
maximales supportées
Les boitiers peuvent être en céramique ou en plastique. Le suffixe du 8086 indique la fréquence
maximale : 5 MHz pour le 8086, 8 MHz pour le 8086-2, et 10 MHz pour le 8086-1

4
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

Une version céramique D8086 Une version plastique P8086

• Cahier de Charge :
Le jeu d’allumettes dispose d’un tas de 21 allumettes entre 2 joueurs, chaque joueur prends 1,2
ou 3 allumettes à tour de role donc le dernier prenant la dernière allumette est le gagnant.

Le programme du jeu devra réaliser une boucle qui

❖ Affiche le tas d’allumettes,


❖ Demande à l’un des joueurs (numéro 1ou 2) le nombre d’allumettes qu’il retire du tas
❖ Vérifie s’il reste suffisamment d’allumettes (sinon, redemande un nombre au meme
joueur)
❖ Vérifie sila dernière allumette a été prise
❖ Change de joueur si la boucle continue.

A la fin de la boucle , le programme affichera le vainqueur .

5
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

• L’organigramme du programme proposé :

6
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

• L’environnement de travail (emu8086)


C’est un logiciel qui simplifie la programmation en langage assembleur et nous aide à mieux
comprendre l’architecture interne du micro-processeur 8086

• Le code source en assembleur du programme

7
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

8
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

• Les differentes instructions utilisées :


o MOV : Copiez l’opérande 2 dans opérande 1.
o Opérande 1 = opérande 2.
o CMP = Comparaison.
o Opérande 1 – opérande 2
o Le résultat n'est pas stocké n'importe où, les drapeaux sont mis (DE, SF, ZF, AF,
PF, CF) à côté du résultat.
o JMP = Un saut court si en premier l'opérande est au-dessous de deuxième
opérande (comme ensemble par l’instruction CMP). Non signé.
o If CF = 1 then jump
• Les tests du mon programme

Lors du l’exécutions

9
Ecole Nationale d’Ingénieurs de Sousse A.U :2018/2019
IA1.1

Ainsi en appuyant sur RUN !

Et en faisant des tests !

10

Vous aimerez peut-être aussi