Problem 1: Single-Precision Floating-Point Multiplication in Software
Write and test a MIPS procedure to do single-precision floating-point multiplication in software. The procedure fmul should receive its input parameters in $a0 and $a1 (as single-precision floatingpoint numbers) and produce its result in $v0 (as single-precision float). You cannot use the floating-point multiply instruction mul.s to do the multiplication. Only integer instructions are allowed. Extract the fields, normalize, round the result, and pack the final result in $v0.
Problem 2: Matrix Traversal
Write a MIPS assembly language program to do square matrix computation. Ask the user to enter the size N of a square matrix and to enter the matrix elements. The square matrix size should be restricted to 10 rows by 10 columns. The matrix elements should be single-precision floating-point numbers. Compute the sum of the elements along each row, the sum of the elements along each column, and the sum of the elements along the main diagonal. For a 5×5 square matrix, this should produce 5 row sums, 5 columns sums, and one diagonal sum.