Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- vet1: .word 0,0,0,0,0
- vet2: .word 0,0,0,0,0
- str1: .asciiz "digite valor pro vet1: "
- str2: .asciiz "digite valor pro vet2: "
- str3: .asciiz "o valor maior da posição "
- str4: .asciiz " eh: "
- quebra: .asciiz "\n"
- .text
- la $a1, vet1 #posiçao inicial do vet1
- la $a2, vet2 #posiçao inicial do vet2
- li $t0, 0 #inicia t0 com 0
- la $s1, vet1 #inicia s1 com 0
- li $t1, 0
- la $s2, vet2
- li $t3, 0
- Preencher1:
- beq $t0, 5, Preencher2 #ve se o contador é = 5
- addi $t0, $t0, 1 #incrementa o contador
- la $a0, str1
- li $v0, 4
- syscall
- li $v0, 5
- syscall
- sw $v0, 0($s1) #salva v0 na posição s1
- addi $s1, $s1, 4 #muda a posição do vetor
- j Preencher1
- Preencher2:
- beq $t1, 5, Comparar #se t1 == 5 vai para função comparar
- addi $t1, $t1, 1 #incrementa t1
- la $a0, str2
- li $v0, 4
- syscall
- li $v0, 5 #le um inteiro
- syscall
- sw $v0, 0($s1) #armazena na posiçao s1 o inteiro
- addi $s1, $s1, 4 #soma 4 em s1
- j Preencher2 #volta pro preencher2
- Comparar:
- Loop2:
- jal ComparaVetor #entra na função
- beq $t3, 5, Exit #ve se t3 ==5
- la $a0, str3
- li $v0, 4
- syscall
- move $a0, $t3 #printa t3
- li $v0, 1
- syscall
- la $a0, str4
- li $v0, 4
- syscall
- slti $t4, $t5, 1 #se for 1 é por que o vetor 2 eh maior
- bne $t4, $zero, Else #vai para else caso o vetor 2 seja maior
- lw $a0, 0($a1) #printa o vetor 1 se ele for maior
- li $v0, 1
- syscall
- la $a0, quebra
- li $v0, 4
- syscall
- addi $a1, $a1, 4 #muda posiçao do vet1
- addi $a2, $a2, 4 #muda posiçao do vet2
- addi $t3, $t3, 1 #incrementa t3
- j Loop2 #volta para o loop2
- Else:
- lw $a0, 0($a2) #printa a posiçao do vet2 comparada
- li $v0, 1
- syscall
- la $a0, quebra
- li $v0, 4
- syscall
- addi $a1, $a1, 4
- addi $a2, $a2, 4
- addi $t3, $t3, 1
- j Loop2
- ComparaVetor:
- slt $t5, $a1, $a2 #ve se a1 é menor que a2
- jr $ra #volta para a linha da main salva em ra
- Exit:
- li $v0, 10
- syscall
Add Comment
Please, Sign In to add comment