Institute: Jayawant Shikshan Prasarak Mandal
Author / Student: Shivshankar Mali
Subject: Microprocessor Laboratory (MPL) – Assembly Language Programming using NASM
Academic Year: 2024 – 2025
This repository contains PDF reports for each Microprocessor (MPL) practical implemented using NASM (Netwide Assembler) on x86 architecture.
Each PDF is a self-contained experiment record that includes:
- Aim / Objective — purpose of the experiment.
- Apparatus / Tools — assembler/simulator setup used (NASM + DOSBox/EMU8086).
- Algorithm / Flowchart — stepwise logic and execution flow.
- Assembly Code (NASM) — complete, well-commented source listing.
- Output / Result — screenshots or terminal outputs showing the working result.
- Observations / Conclusion — remarks on instruction behavior, carry/overflow handling, and limitations.
Each practical is provided in a separate PDF file, so you can view, download, or reference any experiment easily and individually.
Microprocessor-Lab/ ├── 01_Input_Display_64bit.pdf ├── 02_String_Length.pdf ├── 03_Largest_Number.pdf ├── 04_Arithmetic_Operations.pdf ├── 05_Positive_Negative_Count.pdf ├── 06_Hex_BCD_Conversion.pdf ├── 07_Real_Protected_Mode.pdf ├── 08_NonOverlapped_Block_Transfer.pdf ├── 09_Overlapped_Block_Transfer.pdf ├── 10_Multiplication_8bit.pdf └── README.md
| Sr | Title | Short description (what the PDF contains) |
|---|---|---|
| 1 | Input and Display of 64-bit Hexadecimal Numbers | Program, algorithm, and output showing input & display of 64-bit hex values using NASM. |
| 2 | String Length Determination | NASM program to calculate string length; shows data traversal and output with edge cases. |
| 3 | Finding the Largest Among Numbers (Byte/Word/Dword/64-bit) | Comparison and logic for multiple data sizes with sample test outputs. |
| 4 | Arithmetic Operations on 64-bit Hexadecimal Numbers | Implemented using macros/procedures in NASM; includes multiple test outputs. |
| 5 | Counting Positive and Negative Numbers in an Array | Array scanning with conditional checks and counters; results with screenshots. |
| 6 | Conversion Between Hexadecimal and BCD (Two-way) | Interactive NASM program for both conversions with choice menu and examples. |
| 7 | Switching from Real Mode to Protected Mode & Displaying Registers | Mode-switching concept explained with register dump outputs. |
| 8 | Non-Overlapped Block Transfer without String Instructions | Manual data transfer routine and simulation output. |
| 9 | Overlapped Block Transfer using String Instructions | Implementation using MOVS, REP etc. and behavior comparison. |
| 10 | Multiplication of Two 8-bit Numbers | Both successive addition and add–add–shift methods demonstrated with outputs. |
Each practical title links to its corresponding PDF in this repository.
(Click the filename in the repo list to view or download it directly.)
(Example: 01_Input_Display_64bit.pdf)
- Title & Aim — Input and display of 64-bit hexadecimal numbers.
- Tools Used — NASM assembler, DOSBox/EMU8086 for execution.
- Algorithm / Flowchart — logical steps and register usage.
- Assembly Source Code — full NASM listing with comments.
- Test Input — sample hexadecimal values.
- Output Screenshot — console or memory dump view.
- Observations / Conclusion — notes on carry, overflow, or format handling.
Every practical follows this consistent structure for clarity and quick understanding.
- View: Click the PDF filename in the repository to open it directly in your browser.
- Download: Open the file and click the download icon on GitHub’s PDF viewer.
- Assembler: NASM (Netwide Assembler)
- Execution Environment: DOSBox or Linux terminal
- Optional Simulators: EMU8086 / NASM-IDE
- Additional Tools:
ndisasmfor disassembly and analysis- Screenshot utility for capturing outputs
- For updates or corrections, open an issue or submit a pull request with the revised PDF.
- Naming Convention:
NN_Short_Title.pdf(two-digit number for easy sorting). - Keep internal structure consistent: Aim → Algorithm → Code → Output → Observations.