CS计算机代考程序代写 Hive chain interpreter assembler COMP 228: System Hardware Summer 2021

COMP 228: System Hardware Summer 2021
Project
Due Noon, June 26th, 2021
The year is 1987, you are asked to write a program to find the sum of a few numbers for the then popular Commodore 64 home computer.
• Your program must accept the values to be used as input from the keyboard and write the calculated result to the screen. Your program must be written in assembler language and be sufficiently commented and readable.
• You may choose a fixed number for the number of inputs to calculate the sum of so long as the calculation is based on at least five (5) numbers.
• You can choose to only handle positive integers as input, and you may also express the calculated result as an integer. Your program must accept numbers with at least two digits.
• The Commodore 64 has a built-in operating system consisting of the KERNAL for input and output and a BASIC interpreter for writing in the BASIC programming language. You may make use of the KERNAL to handle input and output in your program but may not make use of the built-in BASIC interpreter. The KERNAL provides two relevant subroutines for input and output.
o At address FFD2, there is a subroutine to print a character to the screen. The character code to print is expected in register A.
o At address FFE4, there is a subroutine to read a character from the keyboard. The character code read from the keyboard will be placed in register A when the subroutine completes.
This is a group project composed of two to three students. You must design and implement a program meeting the above requirements and provide a small report about how the program works, any design decision made, and any references of external sources used.
Your submission must include the report and the assembler code source files in a single ZIP file and the report must have the names and student numbers of all participants.
References
• https://en.wikipedia.org/wiki/ROT13
• https://www.masswerk.at/6502/6502_instruction_set.html • https://archive.org/details/c64-programmer-ref
Suggested Tools
• VICE Commodore 64 Emulator
• CC65 6502 toolchain

Assessment Rubric
Code Correctness (8)
Code Readability (8)
Report Structure (4)
Failed
The program is missing or does not assemble.
The program code is missing or unreadable.
The report is missing or incomprehensible.
Unsatisfactory
The program assembles but does not product a result.
The program code is present, but the code is not organized.
The report is present but does not describe how the program works or contain any design decisions.
Acceptable
The program runs and produces a result, but the result is not correct.
The program code is organized such that someone knowing the intent of the program can navigate it.
The report is missing how the program works or is missing design decisions or is not clear.
Meets Expectations
The program runs and produces a correct result.
The program code is organized and commented such that someone familiar with the platform can read and understand the code.
The report clearly describes how the program works and design decisions are clearly articulated.
Exceeds Expectations
The program runs and produces a correct result and handles input sets beyond the defined requirements*.
The program code is clear and someone with no prior knowledge can understand what the program is trying to do.
The report clearly describes how the program works and design decisions are supported with adequate reasoning.
*Supports negative numbers, supports four-digit numbers, or supports numbers with decimal points.