Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- array: .word 2,10,3,4,5,-1,5
- txt: .asciiz "C:/Users/Diogo/OneDrive/Ambiente de Trabalho/Ficheiro MIPS/ficheiro.txt"
- Contagem: .asciiz "A contagem é: "
- Maior: .asciiz "\nO maior é: "
- Menor: .asciiz "\nO menor é: "
- Ficheiro: .asciiz "\nDeseja guardar num ficheiro?(X-Sim,N-Não) "
- Erro: .asciiz "\nErro (X-Sim,Y-Não)"
- teste: .asciiz "teste"
- Escolha: .space 200
- .text
- la $t0,array
- li $t1,0
- li $t4,1
- sub $t4,$t4,2
- loop1:
- lw $t2,0($t0)
- beq $t2,$t4,maior
- add $t1,$t1,1
- add $t0,$t0,4
- j loop1
- maior:
- li $v0,4
- la $a0,Contagem
- syscall
- li $v0,1
- move $a0,$t1
- syscall
- la $t0,array
- li $t1,0
- li $t4,1
- sub $t4,$t4,2
- loop:
- lw $t2,0($t0)
- beq $t2,$t4,menor
- beq $t1,$zero,adicionar
- bgt $t2,$t3,guardar
- add $t0,$t0,4
- j loop
- adicionar:
- move $t3,$t2
- add $t1,$t1,1
- add $t0,$t0,4
- j loop
- guardar:
- move $t3,$t2
- add $t0,$t0,4
- j loop
- menor:
- li $v0,4
- la $a0,Maior
- syscall
- li $v0,1
- move $a0,$t3
- syscall
- la $t0,array
- li $t1,0
- li $t4,1
- sub $t4,$t4,2
- loop2:
- lw $t2,0($t0)
- beq $t2,$t4,fim
- beq $t1,$zero,adicionar2
- blt $t2,$t3,guardar2
- add $t0,$t0,4
- j loop2
- adicionar2:
- move $t3,$t2
- add $t1,$t1,1
- add $t0,$t0,4
- j loop2
- guardar2:
- move $t3,$t2
- add $t0,$t0,4
- j loop2
- fim:
- li $v0,4
- la $a0,Menor
- syscall
- li $v0,1
- move $a0,$t3
- syscall
- volta:
- li $v0,4
- la $a0,Ficheiro
- syscall
- li $v0,8
- la $a0,Escolha
- li $a1,200
- syscall
- la $t6,Escolha
- lb $t7,0($t6)
- beq $t7,'X',sim
- beq $t7,'N',Não
- li $v0,4
- la $a0,Erro
- syscall
- j volta
- sim:
- li $v0,13
- la $a0,txt
- li $a1,1
- li $a2,0
- syscall
- move $s1,$v0
- li $v0,15
- move $a0,$s1
- la $a1,Menor
- li $a2,200
- syscall
- li $v0,4
- la $a0,Menor
- syscall
- li $v0,15
- move $a0,$s1
- la $a1,0
- li $a2,0
- li $v0,16
- move $a0,$s0
- syscall
- li $v0,10
- syscall
- Não:
- li $v0,10
- syscall
Add Comment
Please, Sign In to add comment