MIPS
L'architettura MIPS possiede 32 registri e definisce una word come 32 bit.
Un esempio, può essere:
a[8] = h + a[8]
che tradotto sarà:
lw $15, 32($4)
add $15, $5, $15
sw $15, 32($4)
dove:
$1
indica il registro1
32($4)
indica un indirizzo dentro il registro$4
in offset a32
, quindi32 + ($4)
(0($4)
o($4)
rappresenta il contenuto del registro)lw
esw
fanno il load e lo store in memoria RAM
Formati delle istruzioni
-
R-Type, per le istruzioni aritmetiche come
and
eadd
:opcode rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit dove l'opcode e funct rappresentano l'istruzione, mentre rs è il primo registro, rt il secondo e rd è il registro di destinazione.
Per esempio, la funzione
add
è strutturata in:add rd, rs, rt
-
I-Type, per le istruzioni per la memoria
lw
esw
:opcode rs rt offset 6 bit 5 bit 5 bit 16 bit Per esempio,
lw rt, offset(rs)
Esistono anche delle operazioni aritmetiche immediate per poter usare valori espliciti, per esempio:
addi rt, rs, 5
che fa la somma
rt = rs + 5
. -
J-Type, per le istruzioni per i salti condizionati come
beq
,bneq
,j
:opcode address 6 bit 26 bit