Answer:
Code explained below
Explanation:
.data
msg1: .asciiz "Please input a temperature in celsius: "
msg2: .asciiz "The temperature in Fahrenheit is: => "
num: .float 0.0
.text
main:
#print the msg1
li $v0, 4
la $a0, msg1
syscall
#read the float value from user
li $v0,6 #read float syscall value is $v0
syscall #read value stored in $f0
#formula for celsius to fahrenheit is
#(temperature(C)* 9/5)+32
#li.s means load immediate float
#copy value 9.0 to $f2
li.s $f2,9.0
#copy value 5.0 to $f3
li.s $f3,5.0
# following instructions performs: 9/5
#div.s - division of two float numbers
#divide $f2 and f3.Result will stores in $f1
div.s $f1,$f2,$f3
#following instruction performs: temperature(C) * (9/5)
#multiple $f1 and $f0.Result stored in $f1
mul.s $f1,$f1,$f0
#copy value 32 to $f4
li.s $f4,32.0
#following instruction performs: (temperature(C) * (9/5))+32
#add $f1 and $f4.Result stores in $f1
add.s $f1,$f1,$f4
#store float from $f1 to num
s.s $f1,num
#print the msg2
li $v0, 4 #print string syscall value is 4
la $a0, msg2 #copy address of msg2 to $a0
#print the float
syscall
li $v0,2 #print float syscall value is 2
l.s $f12,num #load value in num to $f12
syscall
#terminate the program
li $v0, 10 #terminate the program syscall value is 10
syscall