Problema 2 !!!!!!!!!
.data
v: .space 28 # 7 el * 4 bytes
n: .word
.text
main:
lw $t0, n
li $t1, 0
li $t2, 0
loop:
beq $t1, $t0 exit
li $v0, 5
syscall
sw $v0, v($t2)
addi $t1, 1
addi $t2, 4
j loop
exit:
loop2:
li $v0, 10
syscall
Problema 3!!!!!!!!
#n nr natural nenul, vector de n numere intregi
#sa se afiseze pe ecran elementele pare
#parcurge de citire
#parcurgere de verficare + afisare
.data
v: .space 400
n: .space 4
sp: .asciiz " "
.text
main:
li $t1, 0
li $t2, 0
li $t4, 2
li $t5, 1
li $v0, 5
syscall
move $t0, $v0
sw $t0, n
loop:
beq $t1, $t0, exit
li $v0, 5
syscall
sw $v0, v($t2)
addi $t1, 1
addi $t2, 4
j loop
exit:
li $t1, 0
li $t2, 0
loop2:
beq $t1, $t0, exit2
lw $t3, v($t2)
rem $t3, $t3, $t4
beq $t3, $t5, continue
lw $a0, v($t2)
li $v0, 1
syscall
la $a0, sp
li $v0, 4
syscall
continue:
addi $t1, 1
addi $t2, 4
j loop2
exit2:
li $v0, 10
syscall
Problema 4!!!!!!!!!!!!!
#n, vector de n elemente
#sa se afiseze maximul si toate pozitiile pe care apare
.data
v: .space 400
n: .space 4
sp: .asciiz " "
mx: .space 4
.text
main:
li $t1, 0
li $t2, 0
li $t3, -1 #max
li $v0, 5
syscall
move $t0, $v0
sw $t0, n
loop:
beq $t1, $t0, exit
li $v0, 5
syscall
sw $v0, v($t2)
ble $v0, $t3, sari
move $t3, $v0
sari:
addi $t1, 1
addi $t2, 4
j loop
exit:
li $t1, 0
li $t2, 0
loop2:
beq $t1, $t0, exit2
lw $t4, v($t2)
bgt $t3, $t4, sari2
move $a0, $t1
li $v0, 1
syscall
la $a0, sp
li $v0, 4
syscall
sari2:
addi $t1, 1
addi $t2, 4
j loop2
exit2:
li $v0, 10
syscall
Problema 5!!!!!!!!!!!!!!
#n - naturale nenule
#2 vectori v, w - ordonati crescator
#sa se interclaseze intr-un vector z
#sa se afiseze z
.data
v: .space 200
w: .space 200
z: .space 400
n: .space 4
sp: .asciiz " "
.text
main:
li $t1, 0
li $t2, 0
li $v0, 5
syscall
move $t0, $v0
sw $t0, n
lw $t9, n
add $t9, $t9, $t9
loop:
beq $t1, $t0, exit
li $v0, 5
syscall
sw $v0, v($t2)
addi $t1, 1
addi $t2, 4
j loop
exit:
li $t1, 0
li $t2, 0
loop2:
beq $t1, $t0, exit2
li $v0, 5
syscall
sw $v0, w($t2)
addi $t1, 1
addi $t2, 4
j loop2
exit2:
li $t1, 0
li $t2, 0
li $t3, 0
li $t4, 0
li $t5, 0
li $t6, 0
loop3:
beq $t5, $t9, exit3
beq $t1, $t0, lol2
beq $t3, $t0, lol1
lw $t7, v($t2)
lw $t8, w($t4)
blt $t7, $t8, case1
sw $t8, z($t6)
addi $t3, 1
addi $t4, 4
j inc_i
case1:
sw $t7, z($t6)
addi $t1, 1
addi $t2, 4
j inc_i
lol2:
lw $t7, w($t4)
sw $t7, z($t6)
addi $t3, 1
addi $t4, 4
j inc_i
lol1:
lw $t7, v($t2)
sw $t7, z($t6)
addi $t1, 1
addi $t2, 4
j inc_i
inc_i:
addi $t5, 1
addi $t6, 4
j loop3
exit3:
li $t1, 0
li $t2, 0
loop4:
beq $t1, $t9, exit4
lw $a0, z($t2)
li $v0, 1
syscall
la $a0, sp
li $v0, 4
syscall
addi $t1, 1
addi $t2, 4
j loop4
exit4:
li $v0, 10
syscall
problema 6!!!!!!!!!!!
#se da o matrice declarata in memorie de forma
#a: .word 1, 2, 3, 4
#.word 5, 6, 7, 8
#.word 9, 10, 11, 12
#n: .word 3
#m: .word 4