$29.99
Project Description
1. Project Overview Create a MIPS numerical calculator. Refer to textbook chapter 2 and 3 for MIPS calculation and implementation.
2. Project Requirements This project must be done under the following environments:
Programming tool: SPIM Assembler
Virus Free Project Under IIT department of Computer Science Policy, any project submission with virus should be excluded from the evaluation. It means, TA will not continue to evaluate your project material. The final grade of project will be 0. To avoid any potential debate, everyone should follow the department rule. Thus before you submit your project, you have to check your package with the latest antivirus software at multiple computers.
3. Description of the Project
User Interface: This project does not mandate a specific user interface. Thus you can freely design your own user interface. Below screen shots are just samples and you don’t need to follow the same way.
Main Body: When your project starts, there are options for arithmetic operation such as Addition, Subtraction, Multiplication, and Division and operand numbers can be entered. User interface can be designed as your preferred way such as: (below shows just some examples)
- human way such as “X + Y” - Like MIPS assembly order: (e.g.) when Menu Subtract chosen, X Y Or First operand: X Second operand: Y - Or Menu driven way:
- Example (no need to build the same menu interface – Create your own menu or calculator screen)
MIPS Calculator ============ 1. Addition 2. Subtraction 3. Multiplication 4. Division 5. Conversions
10. Exit
Then, get inputs of operands such as X and Y.
CS350 FALL, 2018
Implementation requirements Each arithmetic operation must be called out by a corresponding procedure from the main body. So MIPS assembler coding must include procedure calling parts and a remark or a comment must be included.
Main project requirements: 1. Get user selection menu which operation to perform basic arithmetic operation: Addition, Subtraction, Multiplication, or Division (Any interface format is fine but try human way ‘x + y’ or similar) and extras.
2. Calculator does not end unless the user selects Exit or required selection. Thus the program needs to go back to the beginning unless the user selects EXIT.
3. Reliable and robustness: if an incorrect input is entered such as “1 + &”, then a proper error message should be returned and keep continue to get next correct input instead of crash the calculator project.
4. Unless menu 10 is selected, the program does not end but keep working another operation by selecting menu.
Menu 5: Conversions This selection provides extra features as you can find your scientific/engineering calculator. Those required features are:
MIPS Conversions ================ 1. Binary to Decimal 2. Binary to Hexa 3. Decimal to Binary 4. Decimal to Hexa 5. Hexa to Decimal 6. Hexa to Binary 7. To Main Menu 10. Exit
1. You understand all other features. 2. Conversion menu 1 to 6 returns conversion between the number formats. e.g) decimal 5 returns to binary value of 0000000000000101 by menu 1. 3. Selection 7 returns to the main menu: basic arithmetic operations 4. Selection 10 exits from the calculator (same from the main menu)
What to submit?
To the Course Blackboard project tab: 1. Source MIPS assembly codes (must be executable by SPIM) a. All source code must include detail comment of what the code does b. Detail comment is a good habit of documentation that professionals in the SW industry are required c. Good documentation means quality software in the industry
CS350 FALL, 2018
2. User’s manual document: How to use/run your project (include Program analyzing document) – because everyone’s interface is different so everyone needs to have a user documentation how to run your project 3. Final Design diagram document (or flow charts) 4. Self evaluation doc – describe what features are not yet implemented. If your project has all the features, no need to include it. But if your project does not include any feature, describe the item(s) in this document so your TA does not test it (them). TA will apply default penalty of each unimplemented feature/requirement. However, if your TA finds any missing feature but not documented in your self evaluation, more penalty may be given.
All above must be in one zipped file (filename.zip). ** Only use zip format. No other format such as RAR.
Filename: CS350_Lastname_Firstname_18F.zip