Skip to content

Repository files navigation

Microprocessor & Interfacing — 8086 Assembly Mini Projects

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.

Repository Structure

├── 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

Projects Overview

# 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.

Technical Highlights & Assembly Concepts

All projects are developed using standard 16-bit x86 Real Mode Assembly Language principles and follow the academic requirements of the Microprocessor & Interfacing course.

Memory Addressing & Data Alignment

Concepts implemented:

  • 16-bit word storage using DW
  • Byte arrays and strings using DB
  • Memory pointer operations using:
    • SI
    • DI
  • Stack segment allocation:
.STACK 100H

Register Arithmetic & Logic

Arithmetic 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
DEC

Control Flow & Branching

Programs use conditional comparisons and jump instructions for decision-making:

Comparison:

CMP

Conditional jumps:

JE
JNE
JGE

These instructions control:

  • Menu selection
  • Grade calculation
  • Password verification
  • Input validation

DOS Interrupt Services (INT 21H)

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 21H

String Processing

The Password Verification System demonstrates 8086 string manipulation:

Instructions used:

CLD
REPE CMPSB

Concepts covered:

  • Direction flag handling
  • Memory block comparison
  • SI/DI pointer-based string processing

How to Compile & Run

1. Download & Install Emulator

Install EMU8086 on Windows.

2. Open Assembly Source Code

  1. Launch EMU8086.
  2. Click Open.
  3. Select any .ASM file from the project directories.

Example:

Student_Result_Calculator.asm

3. Emulate & Execute

  1. Click Emulate or press: F5

  2. In the emulator window, click Run.

  3. Interact with the application through the terminal.

Academic Information

Category Details
Course Microprocessors & Interfacing (MP&I)
Architecture Intel 8086 / 8088 Microprocessor
Development Tool EMU8086 v4.08+

Learning Outcomes

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

About

A comprehensive collection of 8086 Assembly Language mini-projects (Calculator, Billing System, Student Result Processor, Password Verification) developed for the Microprocessors & Interfacing course using EMU8086.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages