You are on page 1of 3

Text-based Calculator in Assembly

Aurelia, Go, Peque, Tan


I. Abstract/Summary
In this paper, we
II. Introduction

Our group aims to create a text-based calculator that is able to follow


the proper order of operations in arithmetic. This calculator must also be able
to accept multiple inputs and be able to follow proper grouping symbols. The
calculator must also be able store the past answer for the next iterations.
This text-based calculator will be utilizing the different syntax and
instructions that are readily available for Assembly compiled in NASM. These
include register manipulation, macros, stacks, arithmetic and logical
instructions, loops, and other common programming concepts such as
variables.

III. Background

These days, calculators are very common and easy to use devices or
programs that are readily available to most people. They aid in quickly solving
the most basic arithmetic problems to very complicated equations. Their
seemingly simple and straightforward facades may even lead to people to
take for granted how complicated they may become, especially in low-level
programming languages.
One of these low-level programming languages include Assembly.
Assembly language is a low-level programming language that is used by
computers or other devices explicitly for a specific architecture in contrast to
most high-level programming languages, which are generally portable across
multiple systems (Tutorials Point, n.d.). Assembly language is converted into
executable machine code by a utility program referred to as an assembler like
NASM, MASM, etc.
Since Assembly has little to no abstraction at all, the functions that are
built in high-level programs has to be made from the basic and low level
syntaxes of Assembly. That is why even though building a simple calculator
may be an easy task for higher level programming languages, in Assembly
the process is completely different.
Instructions
Calculator
Abstraction
Low-level Programming
High-Level Programming
Architecture
NASM
Stacks
IV. Design and Implementation
In our program we decided to use a brute force algorithm that tests for
V. Testing and Discussion
○ An organization of the details of the report. Claims, results, errors are
presented
(Gregorio, 2003)here.
VI. Conclusion
○ A summary and explanation of the significance of your findings and a
set of
recommendations for future work.
VII. References
○ Insert a listing of references here, as found necessary.

References
Calculators Now: The Virtual Age. (2014, March 24). Retrieved from The Calculator Site:
http://www.thecalculatorsite.com/articles/units/history-of-the-calculator-2.php?page=2

Gregorio, J. (2003). Levels of Abstraction. Retrieved from Bitworking:


https://bitworking.org/news/LevelsOfAbstraction

Tutorials Point. (n.d.). Assembly Programming Tutorial. Retrieved from Tutorials Point:
https://www.tutorialspoint.com/assembly_programming/index.htm
Bibliography
Calculators Now: The Virtual Age. (2014, March 24). Retrieved from The Calculator Site:
http://www.thecalculatorsite.com/articles/units/history-of-the-calculator-2.php?page=2

Gregorio, J. (2003). Levels of Abstraction. Retrieved from Bitworking:


https://bitworking.org/news/LevelsOfAbstraction

Tutorials Point. (n.d.). Assembly Programming Tutorial. Retrieved from Tutorials Point:
https://www.tutorialspoint.com/assembly_programming/index.htm

(Oracle, 2010)

Bibliography
Calculators Now: The Virtual Age. (2014, March 24). Retrieved from The Calculator Site:
http://www.thecalculatorsite.com/articles/units/history-of-the-calculator-2.php?page=2

Gregorio, J. (2003). Levels of Abstraction. Retrieved from Bitworking:


https://bitworking.org/news/LevelsOfAbstraction

Oracle. (2010). Two's Complement Negation. Retrieved from https://docs.oracle.com/cd/E19455-


01/806-3773/instructionset-31/index.html.

Tutorials Point. (n.d.). Assembly Programming Tutorial. Retrieved from Tutorials Point:
https://www.tutorialspoint.com/assembly_programming/index.htm

(Calculators Now: The Virtual Age, 2014)

You might also like