Skip to content

Latest commit

 

History

History

README.md

Microprocessor Lab

CSL501 · Semester V · Computer Engineering

Curated by Programs Language

A comprehensive collection of 28 programs across 10 experiments covering Intel 8086 microprocessor programming including arithmetic operations, string handling, sorting algorithms, system interfacing, and mixed C/Assembly programming.


How to Use  ·  Learning Path  ·  Experiment 1  ·  Experiment 2  ·  Experiment 3  ·  Experiment 4  ·  Experiment 5  ·  Experiment 6  ·  Experiment 7  ·  Experiment 8  ·  Experiment 9  ·  Experiment 10


8086 Programs

Tip

Additional Learning Resource: For more 8086 assembly programs beyond these experiments, check out my 8086 Assembly Language Programs repository — 161 programs I developed during this course for self-learning, covering arithmetic, conversions, sorting, searching, and more.

Warning

Register Safety: In 8086 assembly, direct hardware manipulation requires careful register management. Always push/pop registers when using interrupts to prevent data corruption. Ensure your data segments (DS, ES) are correctly initialized at the start of every program to avoid runtime memory errors.


How to Use

Prerequisites

Assembler Options:

  • MASM (Microsoft Macro Assembler)
  • TASM (Turbo Assembler)

Emulator Options:

  • EMU8086 (Recommended for beginners)
  • DOSBox (For advanced users)

Execution Steps

For MASM:

masm filename.asm;
link filename.obj;
filename.exe

For TASM:

tasm filename.asm
tlink filename.obj
filename.exe

Quick Start Guide

  1. Choose your assembler (MASM or TASM)
  2. Write your assembly code in a .asm file
  3. Assemble the code using the commands above
  4. Link the object file to create an executable
  5. Run the .exe file in your emulator

Learning Path

Beginner Level:

  • Start with Experiment 1 to understand basic arithmetic and register usage
  • Practice data movement instructions (MOV, XCHG)

Intermediate Level:

  • Explore Experiments 2, 3, 4, 5 for conversions, strings, sorting, and searching
  • Master loop constructs and conditional jumps

Advanced Level:

  • Study Experiments 6, 7, 8, 9, 10 for BIOS interrupts, macros, and bit manipulation
  • Learn stack operations and procedure calls

Experiment 1: Basic Arithmetic (8 Programs)

Implementation of fundamental arithmetic operations for 8-bit and 16-bit numbers.

Date: September 13, 2020

# Program Algorithm Description Source Code
1 Addition_Of_Two_8-bit_Numbers.asm Addition 8-bit addition with carry handling View
2 Addition_Of_Two_16-bit_Numbers.asm Addition 16-bit addition for larger values View
3 Subtraction_Of_Two_8-bit_Numbers.asm Subtraction 8-bit subtraction basics View
4 Subtraction_Of_Two_16-bit_Numbers.asm Subtraction 16-bit subtraction logic View
5 Multiplication_Of_Two_8-bit_Numbers.asm Multiplication 8-bit unsigned multiplication View
6 Multiplication_Of_Two_16-bit_Numbers.asm Multiplication 16-bit multiplication technique View
7 Division_Of_Two_8-bit_Numbers.asm Division 8-bit division with quotient/remainder View
8 Division_Of_Two_16-bit_Numbers.asm Division 16-bit division operations View
Lab Report Detailed experiment report View

Experiment 2: Code Conversions (1 Program)

Converting data between different number systems (Binary, Decimal, Hexadecimal).

Date: September 13, 2020

# Program Algorithm Description Source Code
1 BCD_To_Binary_Conversion.asm Conversion BCD to Binary conversion logic View
Lab Report Detailed experiment report View

Experiment 3: String Handling (1 Program)

String manipulation and character processing operations.

Date: September 13, 2020

# Program Algorithm Description Source Code
1 String_Manipulation.asm String Ops Length, copy, concatenate, compare View
Lab Report Detailed experiment report View

Experiment 4: Sorting Algorithms (2 Programs)

Implementation of classic sorting techniques for array organization.

Date: September 20, 2020

# Program Algorithm Description Source Code
1 Bubble_Sort.asm Bubble Sort Ascending order sorting View
2 Selection_Sort.asm Selection Sort Minimum element selection View
Lab Report Detailed experiment report View

Experiment 5: Array Search (1 Program)

Searching for specific elements within arrays.

Date: October 10, 2020

# Program Algorithm Description Source Code
1 Linear_Search.asm Linear Search Sequential element search View
Lab Report Detailed experiment report View

Experiment 6: System Interfacing (1 Program)

Interfacing with system hardware and BIOS interrupts.

Date: October 10, 2020

# Program Algorithm Description Source Code
1 Display_System_Time.asm BIOS INT 21h Real-time clock display View
Lab Report Detailed experiment report View

Experiment 7: Mathematical Operations (1 Program)

Advanced mathematical computations.

Date: October 15, 2020

# Program Algorithm Description Source Code
1 Factorial_Calculation.asm Factorial Recursive/Iterative factorial View
Lab Report Detailed experiment report View

Experiment 8: Macro Utilization (1 Program)

Using macros for code reusability and modularity.

Date: October 10, 2020

# Program Algorithm Description Source Code
1 Macro_Based_Operations.asm Macros Reusable code blocks View
Lab Report Detailed experiment report View

Experiment 9: Array Splitter (1 Program)

Dividing arrays based on specific criteria.

Date: October 10, 2020

# Program Algorithm Description Source Code
1 Even_Odd_Array_Splitter.asm Array Split Separate even/odd elements View
Lab Report Detailed experiment report View

Experiment 10: Logical Shifting (1 Program)

Bit manipulation through logical shift operations.

Date: October 10, 2020

# Program Algorithm Description Source Code
1 Logical_Shift_Operations.asm Bit Shift Left/Right logical shifts View
Lab Report Detailed experiment report View


CSL501 · Semester V · Computer Engineering

University of Mumbai · Curated by Amey Thakur