7.3. EXERCICES 135 7. L`instruction de branchement inconditionnel

publicité
7.3. EXERCICES
135
inc
inc
ba
dec
4,%l1
4,%l5
mer25
%i1
mer30:
ret
restore
7. L’instruction de branchement inconditionnel
ba
adr
doit être remplacée par les instructions suivantes si, par rapport à
l’adresse de l’instruction de branchement ba, l’adresse symbolique adr
ne permet pas d’obtenir un déplacement en mots tenant sur 19 bits :
setx
jmp
nop
adr,%l7,%l0
%l0
Si l’instruction de branchement est un branchement conditionnel, par
exemple
ble
%xcc,adr
par quelle suite d’instructions cette instruction devra-t-elle être remplacée par le programmeur, si ce dernier estime que le déplacement
correspondant est trop grand pour tenir sur 19 bits ?
Si l’adresse numérique qui correspond à l’adresse symbolique adr est
0X204C lors de l’assemblage du programme et que l’adresse numérique de l’instruction de branchement déterminée par l’assembleur
est 0X31A4, donnez l’instruction machine (la suite de 32 bits) correspondant à l’instruction ba adr sachant que
– le code cond pour le branchement inconditionnel est 10002 ,
– le code pour xcc est 102 ,
– le format des instructions de branchement est
0 0 a
cond
0 0 1 cc p
déplacement
8. Écrivez un sous-programme en langage d’assemblage qui effectue le
produit scalaire de deux vecteurs. Le sous-programme accepte quatre
paramètres : l’adresse du premier vecteur (%o0), la taille du premier
vecteur (%o1), l’adresse du deuxième vecteur (%o2) et la taille du
deuxième vecteur (%o3).
9. Écrivez un programme en langage d’assemblage qui effectue la lecture
de deux vecteurs et qui affiche la valeur de leur produit scalaire.
Téléchargement