Reference no: EM133144704
Handling Program in Hack Assembly
Overview
Hack assembly programs (*.asm code) can manipulate registers, RAM, and I/O devices in the Hack Computer. In this task, you will be using Hack assembly to manipulate the screen, depending on the keyboard input.
Task requirements
a. Go through week 7 class materials on Cloud Deakin & complete the problems in week 7 active learning sessions, so that you get an understanding of how to complete this task.
b. Read the task instructions.
Task Instructions
1. Using your knowledge gained from the learning materials and learning sessions in week 7, write a Hack assembly program Fill.asm to blacken the entire screen, depending on the keyboard input.
• When a key is pressed (any key), the entire screen should be black, that is, the program should set every pixel to black. When no key is pressed, the screen should be cleared (set to white).
• This program runs an infinite loop that listens to the keyboard input.
• You may choose to blacken and clear the screen in any spatial order, as long as pressing a key continuously for long enough will result in a fully blackened screen and not pressing any key for long enough will result in a cleared screen.
• This program has a test script (Fill.tst) but no compare file-it should be checked by visibly inspecting the simulated screen.
2. Use the provided test scripts in task resources to test your implementation via the CPU Emulator tool, as shown in the lecture videos. There is a manual test script (Fill.tst) without a corresponding compare file, where you need to check the simulated screen visually for correct behaviour. Use the FillAutomatic.tst file to do automated testing.
3. In a document, explain how you arrived at the solution (1 page max).
4. Upload the code and document to OnTrack.
Reference
Nisan, Noam, and Shimon Schocken. The Elements of Computing Systems : Building a Modern Com- puter from First Principles MIT Press, 2005