Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- .text
- # s0 = a
- li $v0 , 5
- syscall
- add $s0,$zero,$v0
- # s1 = b
- li $v0,5
- syscall
- add $s1,$zero,$v0
- #add $s0,$zero,5
- # add $s1,$zero,6
- #checa se algum dos numeros é zero.
- beq $s0,$zero,zero
- beq $s1,$zero,zero
- add $t0,$zero,$zero
- add $t1,$zero,$zero
- slti $t0,$s0,0
- slti $t1,$s1,0
- #muda a funcao se a tiver sido positivo.
- beq $t0, $zero, aFoiPositivo
- b aFoiNegativo
- aFoiPositivo:
- beq $t1, $zero, ambosPositivos
- b aPositivoFinal
- aFoiNegativo:
- beq $t1,$zero, bPositivoFinal
- b ambosNegativos
- ambosNegativos:
- add $t4,$s0,$zero
- addi $s1,$s1,1
- beq $s1,0,exit
- multAmbosNegativos:
- add $t4,$s0,$t4
- addi $s1,$s1,1
- beq $s1,0,exit
- b multAmbosNegativos
- #nessa função a > 0 , b < 0
- aPositivoFinal:
- add $t4,$zero,$s1
- addi $s0,$s0,-1
- beq $s0,$zero,exit
- multDenovoAPositivo:
- add $t4,$t4,$s1
- addi $s0,$s0,-1
- beq $s0,$zero,exit
- b multDenovoAPositivo
- bPositivoFinal:
- add $t4,$s0,$zero
- addi $s1,$s1,-1
- beq $s1,$zero,exit
- multBPositivoFinalDenovo:
- add $t4,$t4,$s0
- addi $s1,$s1,-1
- beq $s1,$zero,exit
- b multBPositivoFinalDenovo
- ambosPositivos:
- #funcionando
- add $t4,$zero,$s0
- addi $s1,$s1,-1
- beq $s1,0,exit
- multDenovoAmbosPositivos:
- #temporaria = A
- add $t4 ,$t4,$s0
- addi $s1,$s1,-1
- beq $s1,0,exit
- b multDenovoAmbosPositivos
- li $v0,10
- syscall
- zero:
- #funcionando
- addi $a0,$zero,0
- li $v0,1
- syscall
- li $v0,10
- syscall
- exit:
- #imprimir valor e siar
- add $a0,$t4,$zero
- li $v0,1
- syscall
- li $v0,10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement