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

Explain how someone refine the ratio analysis, Refining the Ratio Analysis ...

Refining the Ratio Analysis Basically, refinement leads to purity. Thus to get a cleaner, more understandable and consistent design need to iterate analysis process.  R

Computer engineering designing, How the production of metal contributes to ...

How the production of metal contributes to computer engineering designing?

How the simulation is done - Weather simulation, How the simulation is done...

How the simulation is done -  Information from the satellites/sensors sent to computer -  This data is compared to information stored on files ..... -  ..... Which contain kno

Ruby, Discuss about variables and assignmesnt statements

Discuss about variables and assignmesnt statements

Explain about quarter inch cartridge tapes, Q. Explain about Quarter Inch C...

Q. Explain about Quarter Inch Cartridge Tapes? Quarter Inch Cartridge Tapes (QIC Standard): These tape cartridges record information sequentially in a track with one head. Wh

Python implementation of a solver for the desert cro, Python implementation...

Python implementation of a solver for the desert crossing, Python Programming #Minimum 100 words accepted#

Performance instrumentation, The performance instrumentation states on how ...

The performance instrumentation states on how to efficiently gather information about the computation of the parallel computer. The process of instrumentation mainly attempts to ca

Should validation occur server-side or client-side, Should validation (did ...

Should validation (did the user enter a real date) occur server-side or client-side? Why? Validation will be done in both sides i.e., at the server side and client side. Ser

Communication by message passing, Communication by Message Passing You...

Communication by Message Passing You will agree that a single object alone is generally not very helpful. Objects usually emerge as components of a system or a larger program.

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