In this lab, you will write a MIPS program to convert Fahrenheit temperature to Celsius. A basic conversion program was taught in the class. You should utilize that code from the lecture slides. Your program will take the Fahrenheit temperature as user input (single precision floating point). The temperature conversion code will be a leaf procedure that will be called from the main program after the user input. The procedure also will print the single precision floating value of the Celsius temperature. After the program returns to the main program, the user will be asked if they want another conversion. A character will be taken as input to indicate the user’s preference. If the input character is ‘y’, the program will continue from the beginning by taking another input and calling the conversion procedure. Any other input character will make the program exit. You may need to learn a few syscall parameters that deal with character and single precision floating point numbers. You will find those in the help section of Mars. We use mov.s to copy the value of one single precision floating point register to another. Also added an image of what the output is supposed to look like code is below: result = ((5.0/9.0)*(fahr - 32.0)); result in $f0, .data const5: .float 5.0 const9: .float 9.0 const32: .float 32.0 fahr: .float 100 .text lwc1 $f16, const5 lwc1 $f18, const9 div.s $f16, $f16, $f18 lwc1 $f18, const32 lwc1 $f12, fahr sub.s $f18, $f12, $f18 mul.s $f0, $f16, $f18
In this lab, you will write a MIPS
You may need to learn a few syscall parameters that deal with character and single precision floating point numbers. You will find those in the help section of Mars. We use mov.s to copy the value of one single precision floating point register to another. Also added an image of what the output is supposed to look like
code is below:
result = ((5.0/9.0)*(fahr - 32.0));
- result in $f0,
.data
const5: .float 5.0
const9: .float 9.0
const32: .float 32.0
fahr: .float 100
.text
lwc1 $f16, const5
lwc1 $f18, const9
div.s $f16, $f16, $f18
lwc1 $f18, const32
lwc1 $f12, fahr
sub.s $f18, $f12, $f18
mul.s $f0, $f16, $f18


Step by step
Solved in 2 steps









