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:
$1indica il registro132($4)indica un indirizzo dentro il registro$4in offset a32, quindi32 + ($4)(0($4)o($4)rappresenta il contenuto del registro)lweswfanno il load e lo store in memoria RAM
Formati delle istruzioni
-
R-Type, per le istruzioni aritmetiche come
andeadd: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
lwesw: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, 5che 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