1) Nommer et decomposer les trois formats d'instructions

 

  R: op(6),rs(5),rt(5),rd(5),shamt(5),funct(6)

  I: op(6),rs(5),rt(5),imm(16)

  J: op(6),target(26)

 

    

2) Encoder en binaire les instructions suivantes:

 

          add   $t0, $t1, $t2

          beqz  $t0, suite

          lb    $t0, ($t2)

  suite:

          j     fin

  fin:

 

Solution:

 

add $t0, $t1, $t2

 Format: R

     op: 000000

     rs:  01001

     rt:  01010

     rd:  01000

  shamt:  00000

  funct:  100000

 

 -> 0000 0001 0010 1010 0100 0000 0010 0000

 

 

beqz $t0, suite

 Format: I

     op: 000100

     rs: 01000

     rt: 00000

    imm: 0000000000000001  (4 bytes)

 

 ->  0001 0001 0000 0000 0000 0000 0000 0001

 

 

 

lb $t0, ($t2)

 Format: I

     op: 100000

     rs:  01010

     rt:  01000

    imm: 0000000000000000

 

 ->  1000 0001 0100 1000 0000 0000 0000 0000

 

 

 

j fin

 Format: J

     op: 000010

 target: 00000000000000000000010000

 

 ->  0000 1000 0000 0000 0000 0000 0001 0000

 

 

3) Ecrire le code Fibonnaci recursif en assembleur 

  si n < 2  -->  n

  sinon     -->  f(n) = f(n-1) + f(n-2)