Sunteți pe pagina 1din 6

4.

Instruciuni aritmetice
Instruciunile aritmetice sunt cuprinse n Tabelul 3. Pentru fiecare dintre ele se
specific dac poate ntoarce sau nu excepie de overflow, modul de realizare al
operaiei, formatul i cte un exemplu.
Instruciune

Tip

add rd, rs, rt

Operaia
efectuat
rd rs + rt

Format

Cu semn, cu
R
depire
addu rd, rs, rt
Fr semn, fr
rd rs + rt
R
depire
addi rt, rs, imm
Cu semn, cu
rt rs + imm
I
depire
addiu rt, rs, imm Far semn, fr
rt rs + imm
I
depire
sub rd, rs, rt
Cu semn, cu
rd rs - rt
R
depire
subu rd, rs, rt
Fr semn, fr
rd rs - rt
R
depire
mult rs, rt
Cu semn, fr
HI,LO rs * rt
R
depire
multu rs, rt
Fr semn, fr HI,LO rs * rt R
depire
div rs, rt
Cu semn, cu
LO rs / rt
R
depire
HI rs % rt
divu rs, rt
Fr semn, fr
LO rs / rt
R
depire
HI rs % rt
Tabelul 3. Instruciuni aritmetice

Pseudoinstruciune

Tip

abs rd, rs
Cu semn
neg rd, rs
InstruciCu depire
negu rd, rs
Fr depire
une
add rd, rs, imm
Cu semn, cu
dep
ireHI
mthi rs
Move
To
addu mfhi
rd, rs,rdimm
Fr From
semn, HI
Move
mtlo rs
mflo rd
add rd, imm
addu rd, imm
sub rd, rs, imm

add $t1, $t2, $t3


addu $t1, $t2, $t3
addi $t1, $t2, 1
addiu $t1, $t2, 1
sub $t1, $t2, $t3
subu $t1, $t2, $t3
mult $t1, $t2
multu $t1, $t2
div $t1, $t2
divu $t1, $t2

Operaia
Exemplu
efectuat
rd |rs|
abs $t1, $t2
neg $t1, $t2
rd

rs
Abre
Opera
Exem
negu $t1, $t2
rd - rsia
vieri
Format
plu
add $t1, $t2, 1
rd efectuat
rs + imm

HI rs
rdrdrsHI
+ imm
Move To LO
LO rs
fr depire
Move From LO rd LO
Cu semn, cu
rd rd + imm
depire
Fr semn,
fr depire
Cu semn, cu
depire

Exemplu

R
mthi $t1
add
$t1,
$t2, $t1
1
R
mfhi
u
R
mtlo $t1
R
mflo $t1
add $t1, 1

rd rd + imm

add
u

rd rs - imm

sub $t1, $t2, 1

$t1, 1

subu rd, rs, imm


sub rd, imm
subu rd, imm
mulo rd, rs, rt
mulou rd, rs, rt
div rd, rs, rt
divu rd, rs, rt
rem rd, rs, rt
remu rd, rs, rt

Fr semn,
fr depire
Cu semn, cu
depire

rd rs - imm

sub
u

rd rd - imm

sub $t1, 1

Fr semn,
fr depire
Cu semn, cu
depire
Fr semn,
fr depire
Cu semn, cu
depire
Fr semn,
fr depire
Cu semn, cu
depire
Fr semn,
fr depire

rd rd + imm

sub
u

rd rs * rt

mulo $t1, $t2, $t3

rd rs * rt

mulou $t1, $t2, $t3

rd rs / rt

div $t1, $t2, $t3

rd rs / rt

div $t1, $t2, $t3

rd rs % rt

rem $t1, $t2, $t3

rd rs % rt

remu $t1, $t2, $t3

$t1, $t2, 1

$t1, 1

Tabelul 5. Pseudoinstruciuni aritmetice

5. Instruciuni logice
1 ntrebri:
1) Care sunt operaiile logice pe bii?
2) Care sunt tabelele de adevr corespunztoare?
Instruciunile logice sunt cuprinse n Tabelul 6:
Instruciune
and rd, rs, rt
andi rt, rs, imm

Operaia
Format
efectuat
rd rs AND rt
R
rt rs AND imm I

Exemplu
and $t1, $t2, $t3
andi $t1, $t2, 10

or rd, rs, rt
ori rt, rs, imm
xor rd, rs, rt
xori rt,rs,imm

Pseudoinstruciune
not rd, rs
nor rd, rs, rt
and rd, rs, imm

rd rs OR rt
rt rs OR imm
rd rs XOR rt
rt rs XOR imm

R
I
R
I

Operaia efectuat
rd NOT rt
rd rs NOR rt
rd rs AND imm

or $t1, $t2, $t3


ori $t1, $t2, 10
xor $t1, $t2, $t3
xori $t1, $t2, 10

Exemplu
not $t1, $t2
nor $t1, $t2, $t3
and $t1, $t2, 10

6. Instruciuni de shiftare
Instruciunile de shiftare sunt prezentate n tabelul urmtor:
Instruciune
sll rd, rt, imm

Operaia efectuat
Shift Left Logical

Format
Exemplu
R
sll $t1, $t2, 2

rd rt << imm

srl rd, rt, imm

- se deplaseaz biii la stnga cu imm poziii;


- biii care ies din word prin stnga se pierd;
- locurile goale ramase in dreapta se
completeaz cu 0.
Shift Right Logical

srl $t1, $t2, 2

rd rt >> imm

sra rd, rt, imm

- se deplaseaz biii la dreapta cu imm poziii;


- biii care ies din word prin dreapta se pierd;
- locurile goale ramase in stnga se
completeaz cu 0.
Shift Right Arithmetic

sra $t1, $t2, 2

sllv $t1, $t2, $t3

srlv $t1, $t2, $t3

srav $t1, $t2, $t3

rd rt >> imm

sllv rd, rt, rs


srlv rd, rt, rs
srav rd, rt, rs

- se deplaseaz biii la dreapta cu imm poziii;


- biii care ies din word prin dreapta se pierd;
- locurile goale ramase in stnga se
completeaz cu 0, cu excepia bitului de
semn, care se pstreaz.
Shift Left Logical Variable
rd rt << rs
Shift Right Logical Variable
rd rt >> rs
Shift Right Arithmetic Variable
rd rt >> rs
Tabelul 8. Instruciuni de shiftare

7. Pseudoinstruciuni de rotaie
Pseudoistruciunile de rotaie sunt prezentate n tabelul urmtor:
Instruciune
rol rd, rt, rs

ror rd, rt, rs

Operaia efectuat
Exemplu
Rotation On Left
rol $t2, $t1, $t0
- se pune n rd configuraia de bii din rt
deplasat spre stnga cu nr. de bii din rs, a..
biii care ies din word spre stnga sunt
introdui n aceeai ordine n locul gol creat n
dreapta.
ror $t2, $t1, $t0
Rotation On Right
- se pune n rd configuraia de bii din rt
deplasat spre dreapta cu nr. de bii din rs, a..
biii care ies din word spre dreapta sunt
introdui n aceeai ordine n locul gol creat n
stnga.
Tabelul 9. Instruciuni de shiftare