Vous êtes sur la page 1sur 8

UNIVERSITE TUNIS EL MANAR

FACULTE DES SCIENCES DE TUNIS

Compte rendu

TP 2 : Assembleur

IE4

Elaboré par :
Hadded sirine / med chames hamadi
UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

Introduction :
Un langage assembleur ou encore un langage d’assemblage est, en programmation
informatique, un langage de bas niveau qui représente le langage machine sous une
forme lisible.
Le but de ce TP est d’écrire et de compiler des programmes par l'assembleur, puis
exécuter les instructions pas à pas sur l’Emulateur 8086.

Exercice 1 :

le but de l’exercice est de traduire l’organigramme si dessous en programme


assembleur qui permet de compter les nombres nuls dans un tableau d’octets
mémoire de longueur 100h et débutant à l’adresse [200h], le résultat sera placé à
l’adresse [400h].
UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

Solution 1 :

Apres compilation on obtient :


UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

On remarque que le resultat est placé dans l’adresse 400h

Solution 2 :

on obtient les mêmes résultat on utilisant la 2em solution


UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

Exercice 2 :
A laide des instructions suivantes : MOV, ADD, CMP, JNE.

On fait un programme qui permet de faire la somme des valeurs de 1 jusqu’à 16

On stockera le résultat final dans une variable que l’on appellera « som » (16 bits).
Deux méthodes différentes :

*Méthode d’incrémentation (Utilisation de l’instruction INC)

*Méthode de décrémentation (Utilisation de l’instruction DEC)


UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

Resultat de compilation :

Pour vérifier la valeur de la variable SOM :

View => variables

SOM = 88h en hexa


UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

Exercice 3 : Détermination du maximum de contenus de 3 adresses


Le but est de Déterminer la valeur supérieure entre les contenus des adresses
suivantes 204h, 205h et 206h et stocker la valeur supérieure ou maximale dans une
autre variable que l’on appellera max.

Solution :

Le but est de déterminer le Max des 3 valeurs 75h ,10h et 12h


UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS

le resultat de la compilation :
La valeur 75H est dans le registre AX
La valeur 10H est dans le registre bX
La valeur 12H est dans le registre CX
On remarque que le registre DX contient la valeur maximale qui sera affecté dans la
variable Max

Pour vérifier la valeur de la variable max :

View => variables