2. Write a MIPS program that will handle calculating minifloat addition for two numbers using the rules discussed in class and storing each of the parts as a binary integer. To do this, each 'minifloat number will need to be represented (I suggest hard coded) as one register for the sign, one for the exponent part, one for the 'significand' (which you then convert to the fraction part). Hard coding means here that you don't need to read in the 6 parts as user input, just have something like li $s0, 0 li $1, 12 li $s2, 5 which is equivalent to a minifloat of 0 1101 101 = 1.101 * 2^(12-7) = 1.101*2^5 This means your program will be work with at least 6 registers as variables. For testing, show that your program can correctly calculate the Lab 5 X+Y and A+B and then one other example of your choosing. Don't worry about special cases of 0 0000 000 or 1 1111 111 or similar, but your program should detect overflow. This will involve a lot of (in your head) jumping back and forth between decimal and binary potentially: that's the point. Note: This is an obviously contrived example, the intent is to force you to think about the algorithm, not to make software that anyone would ever want to use.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter5: Repetition Statements
Section5.5: A Closer Look: Loop Programming Techniques
Problem 12E: (Program) Write a program that tests the effectiveness of the rand() library function. Start by...
icon
Related questions
Question

MIPS programming

2. Write a MIPS program that will handle calculating minifloat addition for two numbers using the
rules discussed in class and storing each of the parts as a binary integer.
To do this, each 'minifloat' number will need to be represented (I suggest hard coded) as one
register for the sign, one for the exponent part, one for the significand' (which you then convert
to the fraction part). Hard coding means here that you don't need to read in the 6 parts as user
input, just have something like
li $s0, 0
li $1, 12
li $2, 5
which is equivalent to a minifloat of 0 1101 101 = 1.101 * 2^(12-7) = 1.101*2^5
This means your program will be work with at least 6 registers as variables.
For testing, show that your program can correctly calculate the Lab 5 X+Y and A+B and then one
other example of your choosing.
Don't worry about special cases of 0 0000 000 or 1 1111 111 or similar, but your program should
detect overflow.
This will involve a lot of (in your head) jumping back and forth between decimal and binary
potentially: that's the point.
Note: This is an obviously contrived example, the intent is to force you to think about the
algorithm, not to make software that anyone would ever want to use.
Transcribed Image Text:2. Write a MIPS program that will handle calculating minifloat addition for two numbers using the rules discussed in class and storing each of the parts as a binary integer. To do this, each 'minifloat' number will need to be represented (I suggest hard coded) as one register for the sign, one for the exponent part, one for the significand' (which you then convert to the fraction part). Hard coding means here that you don't need to read in the 6 parts as user input, just have something like li $s0, 0 li $1, 12 li $2, 5 which is equivalent to a minifloat of 0 1101 101 = 1.101 * 2^(12-7) = 1.101*2^5 This means your program will be work with at least 6 registers as variables. For testing, show that your program can correctly calculate the Lab 5 X+Y and A+B and then one other example of your choosing. Don't worry about special cases of 0 0000 000 or 1 1111 111 or similar, but your program should detect overflow. This will involve a lot of (in your head) jumping back and forth between decimal and binary potentially: that's the point. Note: This is an obviously contrived example, the intent is to force you to think about the algorithm, not to make software that anyone would ever want to use.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Returning value from Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning