Machine Organization Winter 2020 Final Exam

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 tinyurl.com/menakaofficehours where you can chat with the instructor. Please read instructions carefully for each problem.

Topic

Max points

Your grade

LC3 Data Path

15

Simulator Programming

25

Routines

10

Extra Credit

5

Total

  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

DECODE

EVALUATE ADDRESS

FETCH OPERANDS EXECUTE

STORE

  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);

System.out.println(result);

}

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;

What Students Are Saying About Us

.......... Customer ID: 12*** | Rating: ⭐⭐⭐⭐⭐
"Honestly, I was afraid to send my paper to you, but splendidwritings.com proved they are a trustworthy service. My essay was done in less than a day, and I received a brilliant piece. I didn’t even believe it was my essay at first 🙂 Great job, thank you!"

.......... Customer ID: 14***| Rating: ⭐⭐⭐⭐⭐
"The company has some nice prices and good content. I ordered a term paper here and got a very good one. I'll keep ordering from this website."

"Order a Custom Paper on Similar Assignment! No Plagiarism! Enjoy 20% Discount"