Develop a calculator in masm, Computer Engineering

Assignment Help:

Assignment:  develop a calculator in MASM.

Text chapters covered:  1 through 4, 5.4, 5.5, 6.3, 7.4

You will develop a "calculator" algorithm in MASM using reverse-polish notation (RPN).  RPN is an extremely useful technique to calculate algebraic expressions.  It is used by many compilers to process algebraic statements.  Your calculator will evaluate RPN expressions using INTEGER values only.

RPN is a postfix expression, meaning that the operation (add, subtract, etc.) follows the variables.  Contrast this to an algebraic expression where the operations are situated between the variables (this is called infix notation).  Here's an example of an RPN expression and its algebraic equivalent:

                        Algebraic equation:     E(A+B)/C-D

                        RPN equivalent:          AB+E*CD-/

To compute an RPN expression is a straightforward process using stacks.  Assume that the RPN expression is always presented as a character string.  The algorithm to do this is shown below.

1. If the character encountered is a variable, push the variable on the stack.

2. If the character encountered is a operator (+,-,*,/), pop the top two variables off the stack, perform the operation on them, then push the result back on the stack.

3. Continue steps 1 and 2 until the string is exhausted.  The last value on the stack is the final result.


Related Discussions:- Develop a calculator in masm

Breadth first search, Breadth First Search: Given a set of operators o...

Breadth First Search: Given a set of operators o1, ..., on in a breadth first search, every time a new state is reached, an action for each operator on  s  is added to the bot

Why array index starts from zero, This boils down to the concept of Binary ...

This boils down to the concept of Binary digits. Take an array size of 64 for example. We begin from 0 and end at 63. We need 6 bits.But, if we were to begin from 1 and end at 64,

Why we need to construct state transition diagram, Why we need to construct...

Why we need to construct state transition diagram Basically you need to construct a state transition diagram for each object with important behaviour. You need not construct on

Different possible handover scenarios in a gsm network, Problem: (a) C...

Problem: (a) Cellular systems are based on two types of multiplexing, what are those two types of multiplexing? Describe how they are used to improve channel allocation in cel

Keys, why impotant keys

why impotant keys

Explain increments and skips subsequent instruction, Q. Explain Increments ...

Q. Explain Increments and skips subsequent instruction? Increments A and skips subsequent instruction if the content of A has become 0. This is a complex instruction then requi

Association and classes betwnn student and university, Association and clas...

Association and classes betwnn student and university Association and classes are alike in the sense that classes describe objects, and association describe links. Figure shows

What are the touch panels, What are the Touch Panels In case of touch p...

What are the Touch Panels In case of touch panels, displayed objects or screen positions is allowed to be selected with the touch of a finger. A typical application of touch pa

Show various RISC processors, Q. Show Various RISC Processors? RISC has...

Q. Show Various RISC Processors? RISC has fewer design bugs and its simple instructions decrease design time. Sodue to all the above important reasons RISC processors have beco

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd