Académique Documents
Professionnel Documents
Culture Documents
Introduction :
Le 8086 à aujourd’hui presque 40 ans d’existence, commercialisé officiellement le 8 juin 1978,
par l’entreprise Intel au-alentour de 40 000 Dinars Algériens de l’époque Il est toujours
commercialisé de nos jours et ne coute pas plus de 500 Dinars Algérien. Avec 133 instructions
le 8086 d’Intel implémente une architecture CISC (Complexe Instruction Set Computer) un
espace adressable d’un méga octet et des manipulations de données codées sur 16 bits Ce
processeur a défini l’architecture de base utilisée jusqu’à nos jours dans les processeurs
modernes de la firme Intel. En effet, les processeurs Intel peuvent fonctionner en mode dit réel
en activant un environnement de programmation identique à celui du 8086.
2. But de TP :
- apprendre comment faire quelques programmes de base d’assembleur on utilisant l’émulateur
de microprocesseur 8068.
3. Manipulations :
a) Manipulation des registres généraux :
a-1 :
en écrit un programme permettant la soustraction de deux valeurs en hexa et stocker le résultat
dans un registre de notre choix :
SUB AX, BX
a-2:
en écrit un programme permettant d’affecter une valeur à AX et de la doubler par la suite
MOV AX, 5
MOV BX, 2
MUL AX
a-3:
en écrit un programme permettant d’affecter 06h à AX et 03h à BX et par la suite permuter les
valeurs de AX et BX en utilisant la pile :
PUSH AX
PUSH BX
POP AX
POP BX
a-4
en écrit un programme permettant de calculer le carré d’une valeur en utilisant uniquement le
registre AX.
MOV AX, 2
MOV AX, 2
MUL AX
CMP AX, BX
Jl K1
JG K2
K1:
K2:
b-2 :
en écrit un programme permettant de affecter la valeur 05h dans AX , si le contenu de AX est
pair mettre DX à 0002 sinon à 0001
TEST AX, 1
JZ PAIR
JNZ IMPAIR
PAIR:
IMPAIR:
b-3:
en écrit un programme permettant de mettre le contenu d’AX et BX 8 fois dans la pile. Les
valeurs initiales d’AX et BX sont 04h et 07h successivement
MOV CX, 8
ET:
Push AX
Push BX
LOOP ET
b-4 :
en écrit un programme permettant de calculer la factorielle de la valeur 05h, et de mettre le
résultat dans le registre AX
MOV AX, 9
MOV DX, AX
DEC AX
MOV CX, AX
INC AX
SAUT :
DEC DX
MUL DX
LOOP SAUT
Et:
Int 21h
Loop et
var dw ?