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

Describe the role of software developers, Describe the role of Software dev...

Describe the role of Software developers Software developers have wide experience of tackling such issues. Students who develop software project spending days and nights strug

Data communication, how CSMA protocol is improved through persistence metho...

how CSMA protocol is improved through persistence methods & collition detection

List the various file attributes, List the various file attributes. A f...

List the various file attributes. A file has certain other attributes, which differ from one operating system to another, but typically consist of these: Name, identifier, type

How to add noise to an image in matlab, The function noise.m, now installed...

The function noise.m, now installed on ashland too, adds Gaussian, salt, uniform and pepper, additive or multiplicative noise to an image

Performance and issues in pipelining-speedup, Performance and Issues in Pip...

Performance and Issues in Pipelining Speedup:   Firstly, we get the speedup factor that is we see how much speed up performance we get through pipelining. First we get the

Simplify the Boolean expression, The Boolean expression A‾.B + A.B‾ + A.B i...

The Boolean expression A‾.B + A.B‾ + A.B is equivalent to ? Ans. The Boolean expression A‾ .B + A. B‾+ A.B is equivalent to A + B (A‾ .B + A. B‾+ A.B = B( A‾ + A) + A. B‾ =

What are various ids associated with a process, What are various IDs associ...

What are various IDs associated with a process? Unix identifies each process with a unique integer known as ProcessID. The process that implements the request for creation of a

How are the instructions provided to computer, Let's answer our second ques...

Let's answer our second question first. All computers have a Unit which performs arithmetic and logical functions. This Unit is called as Arithmetic and Logic Unit (ALU). However h

Define the vbscript basics, VBScript is an easy and powerful to learn tool ...

VBScript is an easy and powerful to learn tool which can be used to add interaction to your Web pages. Web browser receives scripts along with rest of the Web document. Browser par

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