8086 Calculator Microproject
8086 Calculator Microproject
On
Calculator using 8086 Microprocessor
(via Keyboard Input)
Submitted by:
Name: [Your Name]
Roll No: [Your Roll No]
Branch: Computer Engineering
Semester: [Your Semester]
Institute: [Your College Name]
Certificate
This is to certify that the project report titled "Calculator using 8086 Microprocessor (via
Keyboard Input)" has been successfully completed by [Your Name] under my guidance.
Guide Name
(Signature)
Designation
Department of Computer Engineering
Acknowledgment
I would like to express my gratitude to all those who helped me complete this micro project.
I am thankful to my project guide [Guide Name] for valuable guidance. I also thank my
friends and family for their constant support.
Index
1. Introduction
2. Objective
3. Block Diagram
4. System Requirements
6. Interfacing Details
7. Flowchart
9. Applications
10. Advantages
11. Conclusion
13. References
1. Introduction
The 8086 microprocessor is a 16-bit processor widely used in early computing. This project
demonstrates how to implement a simple calculator using the 8086 microprocessor that
can perform basic arithmetic operations using inputs from a keyboard.
2. Objective
The main goal of this project is to design a calculator using the 8086 microprocessor that
can:
- Accept two numbers and an operator from a keyboard.
- Perform arithmetic operations (Addition, Subtraction, Multiplication, Division).
- Display the result.
3. Block Diagram
Block Diagram: Keyboard → 8086 Microprocessor → Output Display
Components:
- 8086 Microprocessor
- Keyboard (Matrix type)
- Display (7-segment or LCD)
- Clock and Power Supply
- Interfacing logic (like 8255)
4. System Requirements
Hardware:
- 8086 Microprocessor
- Matrix Keyboard
- Display Unit
- Power Supply
- Connecting Wires and Breadboard
Software:
- Emu8086 or MASM
- DOSBox (if needed for execution)
7. Flowchart
Flowchart Steps:
Start → Read 1st number → Read operator → Read 2nd number → Perform operation →
Display result → End
.MODEL SMALL
.STACK 100H
.DATA
NUM1 DB ?
NUM2 DB ?
RESULT DB ?
MSG1 DB 'Enter first number: $'
MSG2 DB 13,10,'Enter second number: $'
MSG3 DB 13,10,'Enter operator (+, -, *, /): $'
MSG4 DB 13,10,'Result: $'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
ADDITION:
ADD AL, CL
JMP SHOW_RESULT
SUBTRACTION:
SUB AL, CL
JMP SHOW_RESULT
MULTIPLICATION:
MUL CL
JMP SHOW_RESULT
DIVISION:
MOV AH, 0
DIV CL
JMP SHOW_RESULT
SHOW_RESULT:
ADD AL, 30H
MOV RESULT, AL
DISPLAY PROC
MOV AH, 09H
INT 21H
RET
DISPLAY ENDP
READ_CHAR PROC
MOV AH, 01H
INT 21H
RET
READ_CHAR ENDP
END MAIN
9. Applications
- Digital calculators
- Embedded systems
- Teaching microprocessor concepts
- Industrial input-output processing
10. Advantages
- Low cost
- Demonstrates real-time arithmetic operation
- Easy to implement and debug
- Helpful for learning assembly language programming
11. Conclusion
This project helped in understanding the 8086 microprocessor, input/output interfacing,
and writing assembly-level logic for arithmetic processing.
13. References
- Microprocessor Architecture by Ramesh Gaonkar
- Emu8086 Documentation
- Online tutorials and guides