46 lines
1.3 KiB
NASM
46 lines
1.3 KiB
NASM
.data
|
|
ora_in: .byte 12, 47
|
|
ora_out: .byte 18, 14
|
|
X: .byte 1
|
|
Y: .byte 40
|
|
|
|
.text
|
|
.globl main
|
|
.ent main
|
|
main:
|
|
la $a0, ora_in # indirizzo di ora_in
|
|
la $a1, ora_out # indirizzo di ora_out
|
|
lbu $a2, X
|
|
lbu $a3, Y
|
|
jal costoParcheggio
|
|
li $v0, 10 # codice per uscita dal programma
|
|
syscall # fine
|
|
.end main
|
|
|
|
.ent costoParcheggio
|
|
costoParcheggio:
|
|
# Calcolo minuti nel parcheggio in $t0
|
|
li $t0, 60
|
|
lbu $t1, ($a0)
|
|
lbu $t2, ($a1)
|
|
subu $t1, $t2, $t1
|
|
multu $t0, $t1
|
|
mflo $t0
|
|
|
|
lb $t1, 1($a0)
|
|
lb $t2, 1($a1)
|
|
addu $t0, $t0, $t2
|
|
sub $t0, $t0, $t1
|
|
|
|
divu $t0, $a3
|
|
mflo $t0
|
|
mfhi $t1
|
|
|
|
beq $t1, $0, compl
|
|
addiu $t0, $t0, 1
|
|
compl:
|
|
|
|
multu $t0, $a2
|
|
mflo $v0
|
|
jr $ra
|
|
.end costoParcheggio |