Question: PLEASE USE SKELETON BELOW (Fill in solution into Your Solution Here): .global toInFix .data // declare any global variables here .text toInFix: mov

In Reverse Polish(postfix) notation the operators follow their operands; for instance, to add three and four 

   Please complete the implementation of the two functions given in the questions section below. QUESTION 1: 

PLEASE USE SKELETON BELOW (Fill in solution into "Your Solution Here"):

   
.global toInFix  .data  // declare any global variables here  .text  toInFix:  mov   r12,r13         // save stack pointer into register r12  sub   sp,#32          // reserve 32 bytes of space for local variables   push  {lr}            // push link register onto stack -- make sure you pop it out before you return       // Your solution here    pop {lr}                      // pop link register from stack   mov sp,r12            // restore the stack pointer -- Please note stack pointer should be equal to the                                         // value it had when you entered the function .    mov pc,lr                     // return from the function by copying link register into  program counter               .global toPostFix  .data  // declare any global variables here  .text  toPostFix:  mov   r12,r13         // save stack pointer into register r12  sub   sp,#32          // reserve 32 bytes of space for local variables   push  {lr}            // push link register onto stack -- make sure you pop it out before you return       // Your solution here    pop {lr}                      // pop link register from stack   mov sp,r12            // restore the stack pointer -- Please note stack pointer should be equal to the                                         // value it had when you entered the function .    mov pc,lr                     // return from the function by copying link register into  program counter
   

 

Show transcribed image text
 

In Reverse Polish(postfix) notation the operators follow their operands; for instance, to add three and four one would write "3 4 +" rather than "3 +4". If there are multiple operations, the operator is given immediately after its second operand; so the expression written "3 - 4 + 5" in conventional infix notation would be written "3 4-5 +" in RPN: first subtract 4 from 3, then add 5 to that. An advantage of RPN is that it obviates the need for parentheses that are required by infix. While "3-4+ 5" can also be written "(3-4) + 5", that means something quite different from "3 - (4 + 5)", and only the parentheses disambiguate the two meanings. In postfix, the latter would be written "3 4 5+-", which unambiguously means "3 (45+) -". Interpreters of Reverse Polish notation are stack-based; that is, operands are pushed onto a stack, and when an operation is performed, its operands are popped from a stack and its result pushed back on. Stacks, and therefore RPN, have the advantage of being easy to implement and very fast.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

1 postfix to infix in assembly language program converts an infix expression to a postfix expression with the help of stacks We have defined 4 functions in this program push to insert element to stack ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!