-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathL01Q09.asm
61 lines (39 loc) · 862 Bytes
/
L01Q09.asm
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
#Calcular tempo de experimento científico em HH:MM:SS
#Entrada: int em segundos
# Saida: HH:MM:SS
.text
main:
addi $8, $0 , 3600
addi $9, $0 , 60
segundos:
addi $2, $0, 5
syscall
add $13, $0, $2
calc:
div $13, $8 #calulando horas
mflo $10 #horas
mul $25, $10, $8 #multiplicando para ter horas em segundos
sub $13, $13, $25 #subtraindo horas em segudos dos segundos totais
div $13 $9 #calculando minutos
mflo $11 #minutos
mul $24, $11, $9 #multiplicando para ter horas em segundos
sub $13, $13, $24 #subtraindo minutos em segudos dos segundos totais
print:
add $4, $0, $10
addi $2 $0, 1
syscall
addi $4, $0, ':'
addi $2, $0, 11
syscall
add $4, $0, $11
addi $2 $0, 1
syscall
addi $4, $0, ':'
addi $2, $0, 11
syscall
add $4, $0, $13
addi $2 $0, 1
syscall
over:
addi $2, $0, 10
syscall