lejeuinstruct

1241 mots 5 pages
TD : les instructions
1. Les opérations du matériel
1.1. Exercice
Quel est le code assembleur MIPS compilé pour l'expressions C ci-dessous ? f=(g+h)-(i+j); Les variables f, g, h, i et j peuvent être assignées aux registres $16 à $20.
(C’est au compilateur que revient cette tâche délicate.) add $8,$17,$18 #Registre $8 contient g+h add $9,$19,$20 #Registre $9 contient i+j sub $16,$8,$9 # f reçoit $8-$9, ou (g+h)-(i+j)

2. Les opérandes du matériel
2.1. Exercice
Quel est le code assembleur MIPS pour l'expression C ci-dessous ?
T[i]=h+T[i] ;
T est un tableau d’entiers
On suppose que les variables g et h sont dans $17 et $18,
$19 contienne la valeur i, et que le tableau débute à l’adresse Tstart
L'expression d'affectation C devient muli $19,$19,4 #i=i*4 lw $8,Tstart($19) #reg temporaire $8 reçoit T[i] add $8,$18,$8 #reg temporaire $8 reçoit h+T[i] sw $8,Tstart($19) #on recopie h+T[i]dans T[i]

3. Des instructions pour prendre des décisions
3.1. Exercice
Traduire en langage MIPS assembleur l'expression C suivante.

if (i==j) f=g+h; else f=g-h;

si f,g,h,i et j correspondent aux registres $16 à $20 bne $19,$20,Else #aller en Else si i≠j add $16,$17,$18 #f=g+h (sauté si i≠j) j Exit #aller en Exit (jump)
Else: sub $16,$17,$18 #f=g-h (sauté si i=j)
Exit:

3.2. Exercice
Traduire l'expression C suivante en langage assembleur MIPS.

While (stock[i]==k) i=i+j;

si i, j et k correspondent aux registres $19 à $21, le tableau stock débute à Sstart et le registre $10 contient la valeur 4. loop : mult $9,$19,$10 #reg temporaire $9=i*4 lw $8,Sstart($9) #reg temporaire $8=stock[i] bne $8,$21,Exit #aller en Exit si stock[i]≠k add $19,$19,$20 #i=i+j j Loop #aller en Loop
Exit:

4. La représentation des instructions dans l'ordinateur
4.1. Exercice
Quel est le code machine MIPS pour ces trois instructions ? lw $8,Tstart($19) #reg temporaire $8 reçoit T[i] add $8,$18,$8 #reg temporaire $8 reçoit h+T[i] sw $8,Tstart($19) #on recopie h+T[i]dans T[i]

en relation

  • Corrige BB No1 2
    1729 mots | 7 pages
  • Julien
    4596 mots | 19 pages
  • Germine lacerteux
    326 mots | 2 pages
  • Dissert
    793 mots | 4 pages
  • LOL LOL
    6288 mots | 26 pages
  • Aide brevet blanc
    1639 mots | 7 pages
  • 172675 C6 Livre Du Prof
    9817 mots | 40 pages
  • Divers
    503 mots | 3 pages
  • structure
    2003 mots | 9 pages
  • Calcul numérique
    395 mots | 2 pages
  • Physique
    541 mots | 3 pages
  • La structure
    1017 mots | 5 pages
  • Fiche de structure
    289 mots | 2 pages
  • Mathématiques
    451 mots | 2 pages
  • constructivisme
    1101 mots | 5 pages