TD1 Assembleur

Vous aimerez peut-être aussi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 1

TD 1: Architecture des ordinateurs

Exercice1:
Soit le segment de programme suivant où A, B, X, et S sont des adresses symboliques des mots.
PUSH A BGT L1 L1: POP X
PUSH B POP X ADD
PUSH A MPY POP S
PUSH B POP S L2 PRINT X, S
SUB BRANCH L2
Quelles sont les valeurs imprimées si :
(i) A contient 20 et B contient 20 ;
(ii) A contient -4 et B contient -10 ;
(iii) A contient 7 et B contient 7.

Exercice 2 :
Soient 3 variables x, y et z contenant des nombres.
a) Ecrire un algorithme pour affecter le plus grands des 3 à une variable A, le suivant plus grand à
une variable B et le plus petit à une variable C.
b) Supposer que x, y et z sont des adresses symboliques des mots contenant les 3 nombres ; écrire un
segment de programme assembleur à 2 adresses qui affecte le plus grand des 3 nombre dans un
mot d’adresse symbolique A et imprime le contenu de A. utiliser PRINT A.

Exercice 3:
Ecrire un segment de programme Assembleur à une et deux adresses qui lit un nombre entier et
l'affecte à un mot d'adresse symbolique N, puis détermine si le nombre lu est premier ou non. Imprime
le message 'nombre premier' si le nombre est premier, sinon imprime le message 'le nombre n'est pas
premier'. Supposer que le mot d'adresse symbolique ONE contienne la valeur 1.

Exercice 4:
La fonction cosinus peut s'exprimer sous la forme de série de Taylor comme suit:

a) Montrer que l'on peut évaluer cette série sans faire usage du factoriel. (indications:
établir une relation entre qui ne fait intervenir que X et k)
b) Pour un X donné on voudrait calculer une approximation de cos(X) avec une précision , par

la série tronquée , où M est choisi tel que . Donner un algorithme


itératif pour le calcul de l'approximation pour un X et un  donnés.
c) Traduire votre algorithme dans un langage Pseudo assembleur à 1 et 2 adresses. Supposer que
les emplacements avec des adresses symboliques suivantes EPS, ONE, TWO, MONE
contiennent respectivement , 1, 2 et -1.

Exercice 5: Triplet de Pythagore


Trois nombres entiers a,b,c forment un triplet de Pythagore si et seulement on a 2 + b2 = c2 . La relation
suivante doit être respectée a<b<c, votre programme doit donc à cette effet classer les nombres avant
de tester.
Ecrire un code assembleur à 2 adresses qui permet de vérifier que 3 nombres entiers A, B, C forment
un triplet de Pythagore.

A. M. Chana Lemale Page 1

Vous aimerez peut-être aussi