Professional Documents
Culture Documents
Пример 2
C МИПС
.data
int niza[6] = {123, 456, 789, numbers: .word 123, 456, 789, 987,654,
987,654, 321}; 321
int main() {
int z; .text
#lokalna promenliva koja ke bide
#smesetna vo nekoj registar
la $t1, numbers # procitaj ja poc.
niza[2] = niza[0] + niza[4]; Addrna
# nizata
z = niza[2]; lw $t0, 0($t1)
lw $t2, 16($t1)
add $t3, $t0, $t2
printf("%d", z); sw $t3, 8($t1)
li $v0, 1
return 0; syscall
}
li $v0, 10
syscall
Архитектура и организација на компјутери
Пример 3
C МИПС
Пример 4
C МИПС
.data
int a = 123456; a: .word 123456
int b = 56; b: .word 56
int c = 3; c: .word 3
li $v0, 1
printf("%d", kol + ost); add $a0, $t3, $zero
syscall
return 0;
} add $a0, $t4, $t5
syscall
Архитектура и организација на компјутери
li $v0, 10
syscall
Пример 5
C МИПС
.data
.text
int main() { li $v0, 5
int z; syscall
scanf("%d", &z);
add $t0, $v0, $zero
//apsolutna vrednost
if (z < 0) { bge $t1, $zero, else #branch
z = -z; # greater or equal
} sub $t0, $zero, $t0
else j nadvor
z=z-4; else:
printf("%d", z); addi $t0, $t0, -4
nadvor:
return 0;
} add $a0, $t0, $zero
li $v0, 1
syscall
li $v0, 10
syscall
Чекор a0 t0 t1 t2 t3
7
Архитектура и организација на компјутери
Чекор t0 t1 t2 t3
5
Архитектура и организација на компјутери
Дополнете ја програмата, така што на регистрите $s1, $s2, $s3, $s4 ќе им дадете
почетни вредности 4, 9, 10 и 7. Која е нивната вредност по завршување на
програмата?
Програма
Вредности на регистрите
Архитектура и организација на компјутери
Програма