Uploaded by enerlast

Lab 9 - RISC Assembly

advertisement
Lab 9
Jakob Callenius
November 2022
1
Overview
The purpose of this lab was to implement the program from Lab 8 using floating
point registers. This implementation proved to be much easier than the fixed
point variety, as input, output, and the maintaining of the fractional bits are
handled by basic C functions and operations.
2
Bugs and Hurdles
I encountered two major bugs over the course of programming this laboratory.
The first came from the change in non-volatile registers. The non-volatile registers for floating point are s8 to s15, rather than the normal 19 through 28 that
are available for the integer registers.
The second bug came from the printf function. In C, the printf implicitly
typecast floats into doubles for printing. In assembly, this output must be done
explicitly. For this reason, my initial tests for the printing did not print correctly.
Overall, the program is in the same structure as Lab 8.
1
Download