Question: I would like to compare my answers to the following three questions: QUESTION 1 (10 points) Translate the line of code below to assembly language.
I would like to compare my answers to the following three questions:

QUESTION 1 (10 points) Translate the line of code below to assembly language. The terms A, B, C, D, E and F are memory labels (addresses). Minimize the number of instructions in the assembly code that you write. F = (A+B-C) / (A + D*E); Part a) Write the code for the accumulator architecture. Part b) Write the code for the stack architecture. The division operation does (TOS/2nd TOS) and the subtract operation does (TOS . 2nd TOS). Part c)I is said that a stack architecture makes it easy to develop a compiler. Explain this statement. (10 points) QUESTION 2. Repeat the question above Part a) Write the code for a register-memory architecture. Part b) Write the code for a load-store architecture. Part c) What is the term 'code density? Which of the two codes in this question has a better code density? Does having a higher code density guarantees faster execution? QUESTION 3. (10 points) The MIPS architecture supports byte and halfword (16-bit) memory transfer operations. The instructions are load byte (lb), load byte unsigned (lbu), store byte (sb), load halfword (lh), load halfword unsigned (lhu) and store halfword (sh) Code: short int a, b; 1/16-bit variables (a g address 100) (baddress 200) Part a) Assuming 16-bit operations are supported (lh, lhu, sh), write a MIPS code that swaps the variables a and b. Part b) If MIPS doesn't support byte and halfword operations, then we can access the memory using the load word' (lw) and store word' (sw) only, which are 32-bit operations. Accordingly, rewrite the code above using only (lw, sw) to access the memory. You can use other logic/arithmetic/branch instructions. QUESTION 1 (10 points) Translate the line of code below to assembly language. The terms A, B, C, D, E and F are memory labels (addresses). Minimize the number of instructions in the assembly code that you write. F = (A+B-C) / (A + D*E); Part a) Write the code for the accumulator architecture. Part b) Write the code for the stack architecture. The division operation does (TOS/2nd TOS) and the subtract operation does (TOS . 2nd TOS). Part c)I is said that a stack architecture makes it easy to develop a compiler. Explain this statement. (10 points) QUESTION 2. Repeat the question above Part a) Write the code for a register-memory architecture. Part b) Write the code for a load-store architecture. Part c) What is the term 'code density? Which of the two codes in this question has a better code density? Does having a higher code density guarantees faster execution? QUESTION 3. (10 points) The MIPS architecture supports byte and halfword (16-bit) memory transfer operations. The instructions are load byte (lb), load byte unsigned (lbu), store byte (sb), load halfword (lh), load halfword unsigned (lhu) and store halfword (sh) Code: short int a, b; 1/16-bit variables (a g address 100) (baddress 200) Part a) Assuming 16-bit operations are supported (lh, lhu, sh), write a MIPS code that swaps the variables a and b. Part b) If MIPS doesn't support byte and halfword operations, then we can access the memory using the load word' (lw) and store word' (sw) only, which are 32-bit operations. Accordingly, rewrite the code above using only (lw, sw) to access the memory. You can use other logic/arithmetic/branch instructions
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
