Project1

.docx

School

University of Central Florida *

*We aren’t endorsed by this school

Course

EEL3801

Subject

Computer Science

Date

Jul 1, 2024

Type

docx

Pages

8

Uploaded by Ambassador_Water_Mantis4

Project 1 Report Thomas W. Parker Th428876@ucf.edu EEL3801: Computer Organization Due Date: 23 Mar 2024
1.0 Project Description: The goal of this project was to assist the learning of the MIPS Assembly code through the making of a project with two parts to test the understanding of learned course material. In the first part of the project the objective was to perform arithmetic calculations on values inputted by a user only using addition and subtraction. In both functions multiplication is required, therefore loops must be used to create the effect of multiplication. The first function is: f = (A x C – B x B) The second function is: g = (B x C + 3 x D) This part also requires that the binary equivalent to the outputted decimal value also be printed. In the second part of the project is similar to part A, but the requirement is to perform division and the modulus function by using loops is required. These functions use values from the previous functions. The quotient, remainder, and modulated value will then be printed. The first function is: h = (f_ten+16)/g_ten The second function is: I = (f_ten+g_ten) MOD h_remainder 2.0 Program Design: In beginning the design of part A, the flowcharts were created to describe the logic to develop this program. The flowcharts for part A can be seen below:
To design part A, user inputs had to be created, this was taught in earlier sessions of the lab, this required the use of the register $v0. The values are then saved to registers to set the needs of the loop. The next step is to design the loops to create multiplication. The first step was choosing a logic statement to compare values of two different registers to enact the loop or exit based off the condition that will be set. The branch if greater than or equal to (bge) statement was used. The next step is to choose the arithmetic statement to create the multiplication, this was done by saving the current value of a temporary register plus the saved register of the constant value that a user inputted and then saving back to that temporary register. A j loop is then used to identify what will be executed after the branch. Lastly, exit to finish the loop. This design can be used for the four required loops in part A. After A * C and B * B have been multiplied using the loops they can be subtracted and then loaded to a register as a representation of f. The same steps can be followed to find the value of g = (B * C + 3 * D). For both f and g, the outputted value must be printed in decimal and binary. Next is to convert the decimal values to binary. The second part of project 1 requires a flow chart was created to describe the logic to develop this program. The flowchart for part B can be seen below:
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help