Beruflich Dokumente
Kultur Dokumente
opcode = 0
funct = 32
rd = 8 (destination)
rs = 9 (1er opérande)
rt = 10 (2e opérande)
shamt = 0 (ce n’est pas un décalage)
opcode = 8
rs = 22 (opérande)
rt = 21 (registre cible)
immediate = - 50
• Instruction MIPS :
addi $21,$22,-50
Représentation décimale des valeurs de champs :
8 22 21 -50
6 bits 26 bits
• Comme d’habitude, les champs ont un nom
opcode target address
• Remarques clés
– Le champ opcode ne change pas par
rapport aux formats R et I : cohérence.
– On réunit tous les autres champs pour faire
de la place pour de “grandes” adresses.
Oct. 2009 Archi INFO1 Ch. T. Amphi 4 35
Instructions de format J (3/5)
• On peut ainsi spécifier 26 des 32 bits d’une
adresse.
• Optimisation liée à l’alignement :
– Comme pour les branchements, les sauts
n’ont pour cible que des adresses word-
aligned (les deux derniers bits sont donc
toujours 00, en binaire).
– On peut considérer cela comme
systématiquement acquis.
1. Désassemblage
2. Pseudo-instructions et variétés
de langages d’assemblage
(TAL vs MAL)
• Instruction No Operation
nop
Décomposée en :,
sll $0, $0, 0 (= 0ten)
• TAL:
or $v0,$0,$0
Loop: slt $t0,$0,$a1
beq $t0,$0,Exit
add $v0,$v0,$a0
addi $a1,$a1,-1
j Loop
Exit:
• MALExit:
: li $v0,0
Loop: bge $zero,$a1,Exit
add $v0,$v0,$a0 sub
$a1,$a1,1 j Loop
Exit: