Reference no: EM133137970
SIT111 Computer Systems - Deakin University
Task - Multiplication 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 change and store values in registers and RAM, and carry out some arithmetic operations.
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 Mult.asm to multiply two integer values.
2. The inputs of this program are the current values stored in R0 and R1 (i.e., the two top RAM locations).
3. The program must compute the product R0*R1 and store the result in R2. Assume that R0>=0, R1>=0, and R0*R1<32768. Your program need not test these conditions, but rather assume that they hold.
4. Use the provided Mult.tst and Mult.cmp test scripts in task resources to test your implementation via the CPU Emulator tool, as shown in the lecture videos.
5. In a document, explain how you arrived at the solution (1 page max).
6. 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, 2005loyd, L., Thomas. Digital Fundamentals. Prentice-Hall International, 20031
Task - I/O-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).
Task - Reflect on Your Progress & Learning Plan
Overview
This is a simple task to review your progress and your learning plan regularly together with the teaching team. This will help us ensure that you are on track, and that the teaching team is aware of any difficulty that you might face.
We provide a few prompting questions to help you. These questions ask about what you did, how you feel you are progressing, and whether you anticipate any issue. Please give a brief answer to the provided questions.
Task requirements
a. Read the task instructions
Task Instructions
1. Reflecting on your weeks 4-7 in the unit, and your learning goals, provide answers to the following questions:
a) Which OnTrack tasks have you submitted? How many are marked as ‘complete'? Are there any overdue tasks?
b) What worked well with your previous learning plan (in 3.4P)?
c) What didn't work as well as planned?
d) How did/could you overcome these obstacles?
e) What risks do you anticipate impacting negatively on your study in the next few weeks? f) What strategies are you putting in place to mitigate these risks?
2. Do you think your learning plan needs to be updated? If so please include the updated plan.
3. Please do not write more than 1 page in 12 point font.
4. Write your answer in a text file/document, covert to PDF and submit to OnTrack.
Note: You can change your target grade at any time. You could change learning plans again as you progress further.
Attachment:- Computer Systems Assignment.rar