Question
Assume a machine that has a single register and six instructions. LD A Places the operand A into the register ST A Places the contents
Assume a machine that has a single register and six instructions.
LD A Places the operand A into the register
ST A Places the contents of the register into the variable A
AD A Adds the contents of the variable A to the register
SB A Subtracts the contents of the variable A from the register
ML A Multiplies the contents of the register by the variable A
DV A Divides the contents of the register by the variable A
Write a program in Java utilizing stacks that accepts a postfix expression containing single-letter operands and the operators +, -, *, and / and prints a sequence of instructions to evaluate the expression and leave the result in the register. Use variables of the form TEMPn as temporary variables.
For example, using the postfix expression ABC * + DE - / should print the following:
LD B
ML C
ST TEMP1
LD A
AD TEMP1
ST TEMP2
LD D
SB E
ST TEMP3
LD TEMP2
DV TEMP3
ST TEMP4
Use of standard libraries is restricted to standard I/O calls and standard math functions, etc. In other words, you can't use the library stack code.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started