CS 218 – MIPS Assignment #2

$30.00

Category: You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (5 votes)

Purpose: Become familiar with RISC Architecture concepts, the MIPS Architecture, and SPIM (the MIPS simulator). Points: 50 Assignment: Write a MIPS assembly language program to calculate the total surface area of each three dimensional trapezoid in a series of trapezoids. The total surface area of a three dimensional trapezoid is computed as follows: surfaceAreas[ n] = aSides[n] × (lengths[ n] × heights[ n] ) + bSides[ n] × (lengths[n] × heights[ n] ) + lengths[ n] × cSides[ n] + lengths[ n] × dSides[n] Once the values are computed, the program should find the minimum, maximum, middle value, and average for the computed total surface areas. The program should display the results to the console window. The output should look like the following ,with the correct answers displayed. The numbers should be displayed with two (2) spaces before each number, and 5 numbers displayed per line. There should be one (1) blank line before the numbers and one (1) after the numbers. The instructions to display the headers and answers are included in the template. Of course, you will need to calculate the correct answers first. MIPS Assignment #2 3D Trapezoid Total Surface Areas Program: Also finds minimum, middle value, maximum, sum, and average for the surface areas. 3876255 5944478 5378724 6346388 4267454 4715891 5316165 8480070 6917925 8121600 [ … truncated for space … ] Surface Areas Minimum = ? Surface Areas Middle = ? Surface Areas Maximum = ? Surface Areas Sum = ? Surface Areas Average = ? height length bSide aSide dSide cSide Submission: • All source files must assemble and execute with QtSpim/SPIM MIPS simulator. • Submit source file ◦ Submit a copy of the program source file via the on-line submission • Once you submit, the system will score the project and provide feedback. ◦ If you do not get full score, you can (and should) correct and resubmit. ◦ You can re-submit an unlimited number of times before the due date/time. • Late submissions will be accepted for a period of 24 hours after the due date/time for any given lab. Late submissions will be subject to a ~2% reduction in points per an hour late. If you submit 1 minute – 1 hour late -2%, 1-2 hours late -4%, … , 23-24 hours late -50%. This means after 24 hours late submissions will receive an automatic 0. Program Header Block All source files must include your name, section number, assignment, NSHE number, and program description. The required format is as follows: # Name: # NSHE ID: # Section:

# Assignment: # Description: Failure to include your name in this format will result in a reduction of points. Scoring Rubric Scoring will include functionality, code quality, and documentation. Below is a summary of the scoring rubric for this assignment. Criteria Weight Summary Assemble – Failure to assemble will result in a score of 0. Program Header 3% Must include header block in the required format (see above). General Comments 7% Must include an appropriate level of program documentation. Program Functionality (and on-time) 90% Program must meet the functional requirements as outlined in the assignment. Must be submitted on time for full score. MIPS Assignment #2 – Data Declarations Use the following data declarations: aSides: .word 10, 14, 13, 37, 54 .word 31, 13, 20, 61, 36 .word 14, 53, 44, 19, 42 .word 27, 41, 53, 62, 10 .word 19, 28, 14, 10, 15 .word 15, 11, 22, 33, 70 .word 15, 23, 15, 63, 26 .word 24, 33, 10, 61, 15 .word 14, 34, 13, 71, 81 .word 38, 73, 29, 17, 93 bSides: .word 233, 214, 273, 231, 215 .word 264, 273, 274, 223, 256 .word 244, 252, 231, 242, 256 .word 215, 224, 236, 275, 246 .word 213, 223, 253, 267, 235 .word 204, 229, 264, 267, 234 .word 216, 213, 264, 253, 265 .word 226, 212, 257, 267, 234 .word 217, 214, 217, 225, 253 .word 223, 273, 215, 206, 213 cSides: .word 125, 124, 113, 117, 123 .word 134, 134, 156, 164, 142 .word 206, 212, 112, 131, 246 .word 150, 154, 178, 188, 192 .word 182, 195, 117, 112, 127 .word 117, 167, 179, 188, 194 .word 134, 152, 174, 186, 197 .word 104, 116, 112, 136, 153 .word 132, 151, 136, 187, 190 .word 120, 111, 123, 132, 145 dSides: .word 157, 187, 199, 111, 123 .word 124, 125, 126, 175, 194 .word 149, 126, 162, 131, 127 .word 177, 199, 197, 175, 114 .word 164, 141, 142, 173, 166 .word 104, 146, 123, 156, 163 .word 121, 118, 177, 143, 178 .word 112, 111, 110, 135, 110 .word 127, 144, 210, 172, 124 .word 125, 116, 162, 128, 192 heights: .word 117, 114, 115, 172, 124 .word 125, 116, 162, 138, 192 .word 111, 183, 133, 130, 127 .word 111, 115, 158, 113, 115 .word 117, 126, 116, 117, 227 .word 177, 199, 177, 175, 114 .word 194, 124, 112, 143, 176 .word 134, 126, 132, 156, 163 .word 124, 119, 122, 183, 110 .word 191, 192, 129, 129, 122 lengths: .word 135, 226, 162, 137, 127 .word 127, 159, 177, 175, 144 .word 179, 153, 136, 140, 235 .word 112, 154, 128, 113, 132 .word 161, 192, 151, 213, 126 .word 169, 114, 122, 115, 131 .word 194, 124, 114, 143, 176 .word 134, 126, 122, 156, 163 .word 149, 144, 114, 134, 167 .word 143, 129, 161, 165, 136 surfaceAreas: .space 200 len: .word 50 saMin: .word 0 saMid: .word 0 saMax: .word 0 saSum: .word 0 saAve: .word 0 Note, the .space 200 directive reserves 200 bytes which will be used to store 50 words.