Examen Final
Inf 2170
Automne 1996, 25 points
Durée: 3h
À livres fermés
3pts No 1) Donnez le contenu du registre d0.w
en hexadécimal
après l'exécution de chaque instruction. Le registre d0.w
contient toujours la valeur FE04
avant l'exécution de chaque
instruction.
Réponse d0.w (hexadécimal) a) rol.w #2,d0 b) asr.w #2,d0 c) lsr.w #2,d0
3pts No 2) Le registre d0.l
contient un nombre x codé
en point-fixe [16,16] et le registre d1.l
contient un nombre
y codé en point-fixe [20,12]. Donnez une séquence d'instructions
pour additionner la valeur y au registre d0.l
. (On ne
se préoccupe pas de débordement.)
3pts No 3) Supposons que a0
pointe une chaîne de
caractères se terminant par le caractère <nul>
. Écrire une
séquence d'instructions pour passer les espaces jusqu'au prochain
caractère non-espace et ensuite de passer tous les caractères
non-espaces. Le registre a0
pointera le prochain caractère
espace ou le caractère <nul>
.
3pts No 4) Soit une matrice de 3 lignes et 4 colonnes de nombres
entiers de 16 bits définie à l'étiquette M
. Écrire une
séquence d'instructions qui somme la ligne 0 à la ligne 2.
3pts No 5) Est-ce que la représentation IEEE 32 bits permet de représenter autant de nombres entiers que la représentation en complément à deux de 32 bits ? Justifiez votre réponse.
3pts No 6) Soit la fonction récursive suivante. La traduire en assembleur.
Fonction g(entier 16 bits x) qui retourne un entier 16 bits Début Si ( x < 100 ) retourner x Sinon retourner( g( x - 100 ) + g( x - 200 ) ) Fin
3pts No 7) Écrire une fonction qui recoît deux
matrices de 30 lignes et 20 colonnes de nombres de 16 bits et qui
retourne 0 dans le registre d0.w
si et seulement si les
deux matrices sont égales. (Les deux matrices M et P sont égales
ssi M[i][j] = P[i][j] pour toute paire valide (i,j)).
3pts No 8) Écrire une fonction qui a un paramètre, qui est une matrice de nombres entiers de 32 bits, et qui retourne le nombre de nombres à zéro stockés dans cette matrice. La matrice a 100 lignes et 50 colonnes.
1pt No 9) Est-ce que l'instruction rolx
peut être
implanté à l'aide des instructions rorx
et de sub
seulement ?