Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Ficheiro: /home/miguel/UA/AC2/P02/1/prog1.

s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

.data
lista: .space 20
leitura: .asciiz "\nLeitura e ordenacao de inteiros em base 10\n"
introduza: .asciiz "Introduza 5 Inteiros: "
trocas: .asciiz "\nNumero de trocas realizado: "
resultado: .asciiz "\nResultado da ordenacao: "
.text
.globl main
main:
addiu $sp,$sp,-12
sw $ra,0($sp)
sw $s0,4($sp)
sw $s1,8($sp)
#
la $s0,lista
#* lista[N_INT]
#
la $a0,leitura
jal printStr
#! changes $v0
la $a0,introduza #! changes $v0
jal printStr
#
li $t0,0
#* i=0
for_leitura:
bge
$t0,5,leitura_fim
li $a0,10
#|
jal readInt
#|
sll
$t1,$t0,2
#|}-> lista[i] = readInt(10)
add
$t2,$s0,$t1
#|
sw $v0,0($t2)
#|
jal printSpace
#! changes $a0,$v0
#
addiu $t0,$t0,1
#* i++;
j for_leitura
leitura_fim:
li $a0,5
#* (N_INT
la $a1,lista
#* ,lista)
jal sequentialSort
#* retoma o numero de trocas
#
or $s1,$0,$v0 #* guardar retorno
la $a0,trocas
jal printStr
#! changes $v0
or $a0,$0,$s1
lui
$a1,10
#* base
jal printInt
#! changes $v0
#
la $a0,resultado
jal printStr
#! changes $v0
#
or $t0,$0,$s0
#* ptr = lista
addiu $t1,$s0,20 #* lista + N_INT (20 por ser adio de ponteiros)
for_print_array:
bge
$t0,$t1,end
lw $a0,0($t0)
lui
$a1,10
jal printInt
#! changes $v0
jal printSpace #! changes $v0
addiu $t0,$t0,4
j for_print_array
end:
lw $s1,8($sp)
lw $s0,4($sp)
lw $ra,0($sp)
addiu $sp,$sp,12
la $a0,0
jal exit

Pgina 1 de 1

You might also like