Académique Documents
Professionnel Documents
Culture Documents
TD1 Assembleur
TD1 Assembleur
TD1 Assembleur
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