RAPPEL DES INSTRUCTIONS
Sommaire
Notations

Les conventions et notations suivantes sont utilisées :

uimm11 constante non signée codée sur 11 bits. Lorsque cette constante est employée dans une instruction,
elle est complétée par des 0 dans les bits de poids fort si nécessaire pour l'étendre sur 16 bits.
simm11 constante signée codée sur 11 bits. Lorsque cette constante est employé dans une instruction,
elle est complétée par le bit de signe dans les bits de poids fort si nécessaire pour l'étendre sur 16 bits.
simm9 constante signée codée sur 9 bits. Même remarque que pour simm11.
simm5 constante signée codée sur 5 bits. Même remarque que pour simm11.
uimm5 constante non signée codée sur 5 bits. Même remarque que pour uimm11.
uimm4 constante non signée codée sur 4 bits. Même remarque que pour uimm11.
& et logique bit à bit.
| ou logique bit à bit.
<- affectation.
||  concaténation.



 
Mnémonique  Opération  Exemple
lih rn,uimm11  rn <-uimm11 || 00000b  lih r2,0x7FF
 
Mnémonique  Opération  Exemple
b simm11   pc <- pc + (1 + simm11)  b -16
ba simm11  pc <- simm11 || 0b   ba 0x0004
 
Mnémonique  Opération  Exemple
 beq simm9  si (rcc[z] == 1) pc <- pc + (1 + simm9)  beq -16
 bne simm9  si (rcc[z] == 0) pc <- pc + (1 + simm9)  bne 16
 bge simm9   si (rcc[z] == 1 ou rcc[n] ==0) pc <- pc + (1 + simm9)  bge 16
 bgt simm9  si (rcc[z] == 0 et rcc[n] ==0) pc <- pc + (1 + simm9)  bgt 16
 ble simm9  si (rcc[z] == 1 ou rcc[n] ==1) pc <- pc + (1 + simm9)  ble 16
 blt simm9   si (rcc[z] == 0 et rcc[n] ==1) pc <- pc + (1 + simm9)  blt 16
 bvs simm9  si (rcc[v] == 1) pc <- pc + (1 + simm9)  ble 16
 bvc simm9  si (rcc[v] == 0) pc <- pc + (1 + simm9)  blt 16
 
Mnémonique  Opération  Exemple
 add rd,rs1,rs2  rd <- rs1 + rs2   add r3,r4,r3
 add. rd,rs1,rs2  rd <-rs1 + rs2 + C ; rcc modifié  add. r3,r4,r3
 sub rd,rs1,rs2  rd <- rs1 - rs2  sub r0,r2,r2
 sub. rd,rs1,rs2  rd  <-rs1 - rs2 + C ; rcc modifié  sub. r0,r3,r4
 and. rd,rs1,rs2   rd <- rs1 & rs2   and. r3,r2,r1
 or rd,rs1,rs2  rd <- rs1 j rs2   or r2,r3,r4
 ldx rd,(rs1+rs2)  rd  <- Mem[rs1+rs2]   ldx r2,(r3+r4)
 stx (rs1+rs2),rd  Mem[rs1+rs2] <- rd   stx (r2+r1),r1
 ldbx rd,(rs1+rs2)  rd  <- Mem[rs1+rs2] & 0x00ff   ldbx r2,(r3+r4)
 ldsbx rd,(rs1+rs2)  rd <-  exts(Mem[rs1+rs2] & 0x00ff)  ldsbx r2,(r3+r4)
 stbx (rs1+rs2),rd  Mem[rs1+rs2] <- rd & 0x00ff   stbx (r2+r1),r1
 
Mnémonique  Opération  Exemple
 addi rd,rs1,simm5  rd <-  rs1 + simm5   addi r3,r3,1
 addi. rd,rs1,simm5  rd <-  rs1 + simm5 + C ; rcc modifié  addi. r4,r5,2
 andi. rd,rs1,simm5  rd <- rs1 & simm5   andi. r4,r2,0xF
 ori rd,rs1,uimm5  rd <- rs1 | uimm5  ori r4,r5,0xA
 ld rd,(rs1+simm5)   rd <- Mem[rs1+simm5]   ld r8,(r5+0)
 st (rs1+simm5),rd   Mem[rs1+simm5] <- rd   st (r0+12),r4
 ldb rd,(rs1+simm5)  rd <- Mem[rs1+simm5] & 0x00ff   ldb r8,(r5+0)
 ldsb rd,(rs1+simm5)  rd <- Mem[rs1+simm5] & 0x00ff   ldsb r8,(r5+0)
 stb (rs1+simm5),rd  Mem[rs1+simm5] <- rd & 0x00ff   stb (r0+17),r4
 
Mnémonique  Opération  Exemple
 lsl rd,rs1,uimm4   rd <- rs1 << uimm4  lsl r3,r3,1
 rol rd,rs1,uimm4   rd <- rs1 << uimm4 ; les bits de poids faible reçoivent les bits de poids fort éjectés  rol r4,r3,15
 lsr rd,rs1,uimm4  rd <- rs1 >>  uimm4   lsr r1,r1,3
 asr rd,rs1,uimm4  rd <- rs1  >>uimm4 ; les bits de poids fort sont comblés avec le bit de signe  asr r2,r3,4