Shifting and Instructions Part I. Create an eight-bit word and then perform thre
ID: 3810759 • Letter: S
Question
Shifting and Instructions
Part I. Create an eight-bit word and then perform three of the shifting operations on it.
(For ease of reading, I suggest that the word be broken into two 4-bit pieces separated by a blank space (i.e. xxxx xxxx)
The possible shifting operations include:
Logical Shift Right
Logical Shift Left
Rotate Right
Rotate Left
Arithmetic Shift Right
Arithmetic Shift Left
Each operation should be performed independently on the original 8-bit word.
Part II
Evaluate a short algebraic expression using code with three-operand instructions. The expression should have a minimum of three operands and 2 operators. Operands may be alpha or numeric.
You may only use registers A through F, plus X and T.
Registers A through F may not be changed, i.e. their values are fixed.
Register T may be used as a temporary register, and Register X must contain the final answer.
Show the postfix for the expression, and then use a stack to evaluate the expression.
As an example, consider X=A +B + C * D
The three-operand instructions would be:
ADD X, A, B
MUL T, C, D
ADD X, X, T
The Postfix would be AB+CD*+
The stack would be:
PUSH / A onto the stack
PUSH / B onto the stack
ADD /pop A & B, add them, and push the answer back on the stack
PUSH /C
PUSH / D
MUL /pop C & D, multiply them, and push the answer back on the stack
ADD / pop X & T, add them, and push the answer back on the stack
POP / X off the stack
It is important to note that operational hierarchy dictates that
we first perform all arithmetic inside inner parentheses;
then inside outer parentheses;
then do multiplication and division operations before addition and subtraction operations.
Explanation / Answer
PUSH A TO STACK
PUSH +TO POSTFIX EXPRESSION
PUSH B TO STACK
PUSH +TO POSTFIX EXPRESSION .HERE IN THIS PROBLEM OPERATOR IS SAME.SO ONE +CAN BE
REMOVED AND INSERTED INTO STACK.
PUSH C TO STACK
PUSH * TO POSTFIX
PUSH D TO STACK
TAKE THE HIGHER PRECEDENCE * AND ADD TO POSTFIX
LEFT OVER + COMES TO POSTFIX
FINAL ANSWER IS AB+CD*+
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.