Informatique Industrielle : TD 3 Programmation en Assembleur
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.
Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenantISTIC Borj CedriaPage : 1 / 4
TD 3 S
YSTéMES I
NFORMATIQUES ET A
SSEMBLEUR Programmation en Assembleur
Exercice 1
: On considère le programme en assembleur suivant : mov AX,18h mov BX,35 sub AX, BX div bx mov CX,3 inc CX mul CX
Donner les valeurs des différents registres (AX, BX, CX et DX
) après chaque instruction.
Exercice 2
:
Écrire un programme en assemb
leur qui calcule la somme du contenu des deux cases 1000h et 1010h et qui range le résultat à l’adresse 1020h.
Exercice 3
:
Écrire un programme en assembleur qui fait la somme du contenu des deux cases 1000h et 1010h où le contenu est codées sur 1 octet et puis : Ministère de l’Enseignement Supérieur et de la Recherche Scientifique ******************* Université de Carthage
******************* Institut Supérieur des Technologies
de l’Information et de la Communication ******************* Licence Appliquée :
Automatique et Informatique Industrielle ******************* Niveau : 1
ière année ******************* A.U. 2015-2016, Semestre 1 ******************* Enseignants : Mme FOURATI &
Mr. GRITLI *******************
TD 3 – Systèmes Informatiques et Assembleur Programmation en Assembleur
ISTIC Borj CedriaPage : 2 / 4 Si la somme est supérieure à 100, on ra
nge le résultat dans la case 1020h.
Sinon, on range le résultat dans la case 1030h.
Exercice 4
: On veut additionner deux nombres signés N1 et N2 se trouvant respectivement aux offsets [1100h] et [1101h]. Le résultat est rangé à l’adresse 2000h s’il est positif, à l’adresse 3000h s’il est négatif et dans le registre BX s’il est nul.
Exercice 5
:
Écrire un programme permettant de calculer le PGCD de 2 nombres « a » et « b » (a et b sont entre 0 et 9) introduite par l’utilisateur à par
tir du clavier en tenant compte de l’algorithme suivant : Répéter C=a/b , r=le reste de cette division entière Si r ≠
0 a=b b=r fin si jusqu’à r=0 pgcd = b
TD 3 – Systèmes Informatiques et Assembleur Programmation en Assembleur
ISTIC Borj CedriaPage : 3 / 4
Exercice 6
: On considère la fonction numérique suivante : 00 1n nn nn xsi cax xsi bax x; 1 n
avec 1 a
, 2 b et 3 c
. A partir d’une condition initiale 1
x (entre 0 et 9) donnée par l’util
isateur via le clavier, on peut calculer la valeur de 1x . Alors, à partir de 1x , on peut calculer 2x , et ainsi de suite. Donc, pour une valeur de 1 n donné par l’utilisateur à partir du clav
ier, on peut calculer la valeur de 1 nx .
Écrire un programme permettant de cal
culer et d’afficher la valeur de 1 n
x à partir de 1
x et de n (deux données fournies à partir du clavier). Pour le test, prenez 31 x ,
si 4 n alors 31 nx
et si 6 n alors 21 nx
Exercice 7
: Écrire un programme en assembleur qui pe
rmet de faire la fonction suivante : yx z5 3
où x et y sont deux données fournis par l’utilisat
eur à partir du clavier telles que : 9, 0 y x
. Le résultat valide de cette fonction qui doit être affiché à l’écran est telle que 99 z . Alors, si z est en dehors de cet intervalle, afficher un message informant que le résultat est invalide. Pour test le bon fonctionnement du programme élaboré, choisissez : -6
x et 3 y 3 z- 2 x et 3 y 9 z TD 3 – Systèmes Informatiques et Assembleur Programmation en Assembleur
ISTIC Borj CedriaPage : 4 / 4- 2 x et 4 y
Résultat non valide -7
x et 2 y
Résultat non valide
Exercice 8
: Écrire un programme en assembleur qui permet de factoriel d’un nombre 9 0 n donné par l’utilisateur à partir du clavier et qui affiche le résultat sur l’écran. On rappelle que : 1! 0
et nn 2 1
! De plus, en utilisant le programme déjà écrit, faire la fonction suivante : 30! nm et afficher la valeur de m
. La valeur de m peut être positive ou négative. Si 10 m
, afficher un message montrant que 10 m
. Si 10 m , afficher un message montrant que 10 m
. Si non, afficher un message montrant que le Résultat est BON. Tester avec les valeurs de 3 n
, 4 n
et 5 n
.
