Machine Organization Winter 2020 Final Exam

50 Points Duration: 120 Minutes
I promise that this work is my own and I received no help or collaboration from anyone else.

Print Full Name ___________

You may print and complete this exam on paper and scan or type the work in this document. Scanned or finished work must be uploaded on Canvas at or before 12:10pm. Only extensions .docx, doc, and pdf are allowed on Canvas. You may use any resources that you would like to use – LC3, Eclipse, Notes, Slides, Textbook. You may not collaborate with others and must complete this individually. Your instructor will be available on Zoom during the exam and you may ask questions using private chat only. Zoom link is where you can chat with the instructor. Please read instructions carefully for each problem.


Max points

Your grade

LC3 Data Path


Simulator Programming




Extra Credit



  1. (15 Points) Explain what happens in each phase of a JSR instruction and also indicate the phases on the data path diagram below. You may use color-coding or use numbers to specify the phases. (Fetch – 1, Decode – 2, etc.) FETCH





  1. (10 Points) Complete the method below to join the Computer class code from the homework. You must use Eclipse IDE and write code that is logically and syntactically correct. You cannot change the method signature. Copy and paste the code here once you are done (only this method).

public void executeJSR()

  1. (15 Points) Write the JUnit test methods to test the code above in Problem 2. You must use JUnit 4 framework and test methods must be logically and syntactically correct. Copy and paste the tests here once you are done. Only the test methods.
  2. (10 Points) Write a routine to ShiftRight the contents of register R1. In other words, if R1 contains #8, it should become #4. Assume that R1 is already loaded with data, do not write code for loading data. Comment your routine for full credit. You may use LC3 to write this code. It must be logically and syntactically correct for credit. Copy and paste the code here once you are done. You must save and restore any registers that shouldn’t be modified. The only register that should be modified is R1 by the routine. Main is provided below. .ORIG x3000 AND R1, R1, #0 ADD R1, R1, #8 JSR ShiftRight HALT
  3. (Extra Credit: Java to LC3 Assembly – 5 Points)

Assume that the program is syntactically correct. Use the following program to answer the questions i,ii below:

public static void main(String[] args) {

int result = product(5, 6);



public static int product(int a, int b) {

return a * b;


i) Draw the activation record for product. ii) Write the LC3 assembly code for the following code in the product method above. You must use appropriate registers and offsets based on the activation record from i). return a * b;

The post Machine Organization Winter 2020 Final Exam appeared first on edubrained.

"Looking for a Similar Assignment? Get Expert Help at an Amazing Discount!"