Você está na página 1de 6

Functie add addu addi addiu sub subu mult multu div divu abs neg negu add

addu add addu sub subu sub subu mulo mulou div divu rem dest dest dest dest dest dest src1 src1 src1 src1 dest dest dest dest dest dest dest dest dest dest dest dest dest dest dest

Parametrii src1 src1 src src src1 src1 src2 src2 src2 src2 Instructiuni src2 src2 immediate immediate src2 src2 -

Pseudoinstructiuni src src src src immediate src immediate immediate immediate src immediate src immediate immediate immediate src1 src2 src1 src2 src1 src2 src1 src2

Tipuri de date .byte .half .word .float .double .space .align 1 byte 2 bytes 4 bytes 4 bytes 8 bytes n bytes 2 8 biti 16 biti 32 biti 32 biti 64 biti 4*n biti

(register) imm imm(register)

Tipuri de adresare adresa din registru adresa este data de valoarea imm adresa este: register + imm

Operatii de transfer lw lb lbu lh lhu lui sw sb sh li la move

dest

imm(reg) -

dest src dest dest dest

imm imm(reg) eticheta imm eticheta src -

slt sltu slti sltiu movn movz seq sne sle sgt sge sleu sgtu sgeu

dest dest dest dest dest dest dest dest dest dest

src1 src1 src src src src comp1 comp1 comp1 comp1

Oparatii de testare src2 src2 immediate immediate compare compare comp2 comp2 comp2 comp2

beq bne bgtz bltz bgez blez bltzal bgezal b beqz bnez blt ble

comp1 comp1

Instructiuni de salt comp2 eticheta comp2 eticheta

comp

eticheta

eticheta comp comp

eticheta eticheta

comp1

comp2

eticheta

bgt bge bltu bleu bgtu bgeu j jal jalr jr

comp1

comp2

eticheta

eticheta eticheta
return addr addr to jump

addr to jump

Serviciu print integer print float print double print string read integer read float read double read string memory alloc exit print character read character

Cod 1 2 3 4 5 6 7 8 9 10 11 12

Servicii de sistem Args Rezultate $a0 val $f12 $f12 $a0 addr $v0 val $f0 val $f0 val $a0 addr $a1 char cnt $a0 bytes cnt $v0 mem addr $a0 val $v0 val

Descriere Instructiuni dest = src1 + src2 unsigned dest = src1 + src2 dest = src + immediate dest = src1 - src2 unsigned dest = src1 - src2 HI, LO = src1 * src2 unsigned HI, LO = src1 * src2 LO = src1 / src2 HI = src1 % src2 unsigned LO = src1 / src2 unsigned HI = src1 % src2 dest = |src| dest = - src unsigned dest = - src dest = src + immediate unsigned dest = src + immediate dest += immediate unsigned dest += immediate dest = src - immediate unsigned dest = src - immediate dest -= immediate unsigned dest -= immediate dest = src1 * src2 unsigned dest = src1 * src2 dest = src1 / src2 dest = src1 % src2

seudoinstructiuni

Tipuri de date

aliniaza urmatoarea valoare

Tipuri de adresare adresa din registru adresa este data de valoarea imm adresa este: register + imm

peratii de transfer load word load byte load byte unsigned load half load half unsigned dest = imm << 16 store word store byte store half dest = imm dest = address of eticheta dest = src

Oparatii de testare dest = (src1 < src2) dest = (src1 < src2) unsigned dest = (src < immediate) dest = (src < immediate) unsigned compare != 0 => dest = src compare == 0 => dest = src set on equal set on not equal set on less than or equal set on greater than set on greater than or equal sle unsigned sgt unsigned sge unsigned

nstructiuni de salt branch on equal branch not equal Branch > 0 Branch < 0 Branch >= 0 Branch <= 0 Branch < 0 and Link Branch >= 0 and Link Branch Branch = 0 Branch != 0 Branch on comp1 < comp2 Branch on comp1 <= comp2

Branch on comp1 > comp2 Branch on comp1 >= comp2 Branch on comp1 < comp2 unsigned Branch on comp1 <= comp2 unsigned Branch on comp1 > comp2 unsigned Branch on comp1 >= comp2 unsigned Jump Jump and Link uses $ra Jump and Link Register Jump to addres form register

Servicii de sistem

Você também pode gostar