Witam,
Miałam do napisania program w assemblerze mips liczacy pola figur trójkata prostokata i koła, tylko cos mi nie działa, czy ktoś pomoże
.data
starter: .asciiz "Witamy, wybierz co chcesz obliczac: \n1.Trójkat \n2.Prostokat \n3.Kolo\n"
pierwsza: .asciiz "Podaj wysokosc, bok i promien\n"
druga: .asciiz "Podaj druga wysokosc, bok i promien\n"
wynik: .asciiz "Pole to:\n"
jeden: .word 1
dwa: .word 2
trzy: .word 3
.text
main:
li $v0, 4
la $a0, starter
syscall
li $v0, 5
syscall
move $t0, $v0
lw $a0, jeden
move $t1, $a0
beq $t0, $t1, trojkat
lw $a1, dwa
move $t2, $a1
beq $t0, $t2, prostokat
jal kolo
syscall
trojkat:
la $a0, starter
li $v0, 4
syscall
li $v0, 7
syscall
mov.d $f2, $f0
la $a0, pierwsza
li $v0, 4
syscall
li $v0, 7
syscall
li $t1, 0x40000000
li $t0, 0x00000000
mtc1.d $t0, $f4
mul.d $f0, $f0, $f2
div.d $f12, $f0, $f4
la $a0, wynik
li $v0, 4
syscall
li $v0, 3
syscall
jal exit
prostokat:
la $a0, pierwsza
li $v0, 4
syscall
li $v0, 5
syscall
move $t0, $v0
la $a0, druga
li $v0, 4
syscall
li $v0, 5
syscall
move $t1, $v0
mul $t2, $t0, $t1
la $a0, wynik
li $v0, 4
syscall
li $v0, 1
add $a0, $zero, $t2
syscall
jal exit
kolo: la $a0, pierwsza
li $v0, 4
syscall
li $v0, 7
syscall
li $t1, 0x400921f9
li $t0, 0xf01b866e
mtc1.d $t0, $f2
mul.d $f0, $f0, $f0
mul.d $f12, $f0, $f2
la $a0, wynik
li $v0, 4
syscall
li $v0, 3
syscall
jal exit
exit:
li $v0, 10
syscall