.data # Isto mostra que se pode usar uma .word e codificar diretamente o valor de um número ponto # flutuante em hexadecimal se assim se quiser fazer num1: .word 0x3F800000 num2: .float 1.0 result: .word 0 string: .asciiz "\n" .text main: la $t0, num1 lwc1 $f2, 0($t0) lwc1 $f4, 4($t0) # Imprime os valores das parcelas da soma li $v0, 2 # 2 é syscall para implrimir número float que está em $f12 mov.s $f12, $f2 syscall li $v0, 4 # 4 é syscall para implrimir string apontada por $a0 la $a0, string syscall li $v0, 2 mov.s $f12, $f4 syscall li $v0, 4 la $a0, string syscall li $v0, 4 la $a0, string syscall # Aqui, faz-se a soma de dois números float add.s $f12, $f2, $f4 # Transfere os valores do registrador de float para um registrador inteiro swc1 $f12, 8($t0) lw $s0, 8($t0) # Aqui, $f12 contém a soma, e $s0 também, para permitir sua visualização em # hexadecimal li $v0, 2 syscall li $v0, 4 la $a0, string syscall li $v0, 10 # Termina o programa syscall