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 sequential sharing, Explain Sequential Sharing In this sharing ...

Explain Sequential Sharing In this sharing method, a file can be shared by just one program at a time, i.e. file accesses by P1 and P2 are spaced out over time. A lock field ca

Cluster computing, The concept of clustering is definite as the use of mult...

The concept of clustering is definite as the use of multiple computers, typically PCs or multiple storage devices, UNIX workstations, and their interconnections, to form what appea

Difference between a null pointer and a void pointer, A NULL pointer is a p...

A NULL pointer is a pointer of any type whose value is zero. A void pointer is a pointer to an object of an unknown type, and is guaranteed to have sufficient bits to hold a pointe

State a simple pull transaction, a. Explain the future of mobile commerce i...

a. Explain the future of mobile commerce in world? b. 'Push and Pull' are two ways of transferring information to and from a phone, through WAP. Now, with the help of diagram, s

Form an 8 bit adder using 2 four bit adder IC's 7483, How will you form an ...

How will you form an 8 bit adder using 2 four bit adder IC's 7483? Ans: 4 bit adder IC is IC 7483. This has two four bit data inputs and output carry, 4 bit data output carr

State the hardware faults and softwate faults, State the hardware faults an...

State the hardware faults and softwate faults - protection against hardware faults could be to keep backups or use GFS; use of UPS (in case of power loss) and parallel system a

Machine centred versus human centred, Machine Centred versus human Centred ...

Machine Centred versus human Centred The discussion here is based on the difference in approach to the design of the work system when we prioritise either the needs of the mac

What is selective complement - logic micro operations, SELECTIVE COMPLEMEN...

SELECTIVE COMPLEMENT The selective-complement process complements bits in register A where there are corresponding 1's inside register B. It does not affect bit positions which

Performance of caches - computer architecture, Performance of caches: ...

Performance of caches:       Amdahl's Law regarding overall speed up:                  Alternatively, CPU stall can be considered:

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