A comprehensive collection of 8086 Assembly Language mini-projects developed for the Microprocessors & Interfacing (MP&I) course in the Computer Science & Engineering (CSE) program using EMU8086.
├── Interactive Menu-Driven Calculator/
│ ├── Menu_Driven_Calculator.asm
│ └── README_Menu_Driven_Calculator.md
│
├── Password Verification System/
│ ├── Password_Verification_System.asm
│ └── README_Password_Verification_System.md
│
├── Shopping & Billing System/
│ ├── Shopping_Billing_System.asm
│ └── README_Shopping_Billing_System.md
│
├── Student Result Calculator/
│ ├── Student_Result_Calculator.asm
│ └── README_Student_Result_Calculator.md
│
└── README.md
| # | Project Name | Key Mechanics |
|---|---|---|
| 1 | Student Result Calculator | 16-bit arithmetic operations (ADD, DIV), conditional grading branches, stack-based dynamic integer printing using PRINT_NUM. |
| 2 | Interactive Menu-Driven Calculator | Infinite execution loop, user menu selection using DOS interrupt (INT 21H, AH=01H), arithmetic processing logic. |
| 3 | Shopping & Billing System | POS-style state tracking, dynamic variable updates in .DATA, itemized checkout calculation, and bill generation. |
| 4 | Password Verification System | Keyboard input buffering, multi-byte string validation using CMPSB, and attempt counter-based security lockout. |
All projects are developed using standard 16-bit x86 Real Mode Assembly Language principles and follow the academic requirements of the Microprocessor & Interfacing course.
Concepts implemented:
- 16-bit word storage using
DW - Byte arrays and strings using
DB - Memory pointer operations using:
SIDI
- Stack segment allocation:
.STACK 100HArithmetic operations are performed using 8086 registers:
| Register | Purpose |
|---|---|
AX |
Primary accumulator for arithmetic operations |
BX |
Secondary operand storage |
CX |
Loop counter and string operation length |
DX |
Data storage and DOS interrupt communication |
Implemented instructions:
ADD
SUB
MUL
DIV
INC
DECPrograms use conditional comparisons and jump instructions for decision-making:
Comparison:
CMPConditional jumps:
JE
JNE
JGEThese instructions control:
- Menu selection
- Grade calculation
- Password verification
- Input validation
The projects use DOS interrupt services for user interaction.
| AH Value | Function |
|---|---|
01H |
Read a single keyboard character with echo |
02H |
Display a single ASCII character |
09H |
Display a string ending with $ delimiter |
4CH |
Safely terminate program execution |
Example:
MOV AH, 09H
INT 21HThe Password Verification System demonstrates 8086 string manipulation:
Instructions used:
CLD
REPE CMPSBConcepts covered:
- Direction flag handling
- Memory block comparison
- SI/DI pointer-based string processing
Install EMU8086 on Windows.
- Launch EMU8086.
- Click Open.
- Select any
.ASMfile from the project directories.
Example:
Student_Result_Calculator.asm
-
Click Emulate or press:
F5 -
In the emulator window, click Run.
-
Interact with the application through the terminal.
| Category | Details |
|---|---|
| Course | Microprocessors & Interfacing (MP&I) |
| Architecture | Intel 8086 / 8088 Microprocessor |
| Development Tool | EMU8086 v4.08+ |
Through these mini-projects, the following 8086 Assembly concepts are demonstrated:
- Memory organization and addressing
- Register-level arithmetic operations
- DOS interrupt-based input/output
- Conditional branching and loops
- Stack operations
- String comparison instructions
- Real-mode x86 programming fundamentals
- Basic application development using Assembly Language