Interactive Arabic educational page explaining memory segmentation in the Intel 8086 processor.
This project helps students understand how the 8086 processor calculates physical memory addresses using the Segment:Offset addressing method.
https://bilalzamilahmed.page/Segmentation-in-the-8086-processor/If the project is hosted under the original GitHub Pages domain, use:
https://bilalcodes1.github.io/Segmentation-in-the-8086-processor/Segmentation in the 8086 Processor is a simple interactive web page created to explain how memory segmentation works in the Intel 8086 microprocessor.
The page allows users to enter a 16-bit Segment value and a 16-bit Offset value in hexadecimal format, then calculates the final physical address.
The project also includes visual memory representation, example buttons, and Arabic explanations to make the concept easier for students.
Physical Address = (Segment × 16) + OffsetIn the 8086 processor, both Segment and Offset are 16-bit values. The segment value is shifted left by 4 bits, which is the same as multiplying it by 16. Then the offset is added to produce a 20-bit physical address.
This allows the 8086 processor to access up to 1 MB of memory.
- Arabic RTL educational interface
- Interactive Segment and Offset input fields
- Hexadecimal input validation
- Physical address calculation
- Decimal and hexadecimal result display
- Visual representation of 1 MB physical memory
- Segment highlight inside the memory bar
- Physical address marker
- Ready-made demo examples
- Explanation cards for Segment, Offset, and memory addressing
- Overlapping segment visualization
- Responsive layout for desktop and mobile
- Footer with developer information and social links
- Built using pure HTML, CSS, and JavaScript
This project explains:
- Intel 8086 memory segmentation
- Segment registers concept
- Offset addressing
- Physical address calculation
- 20-bit memory addressing
- Why the 8086 uses
Segment × 16 - 1 MB memory addressing range
- Segment overlap
- 64 KB segment size
- Relationship between logical and physical addresses
Example:
Segment = 1000h
Offset = 0010hCalculation:
Physical Address = (1000h × 10h) + 0010h
Physical Address = 10000h + 0010h
Physical Address = 10010hSo the final physical address is:
10010hAllows the user to enter:
- Segment value
- Offset value
Both values are entered as hexadecimal numbers.
Displays:
- Segment value in hex and decimal
- Offset value in hex and decimal
- Calculation formula
- Final physical address
- Memory location percentage
Shows a simplified visual representation of the 1 MB memory space.
It highlights:
- Segment start location
- Segment range
- Final physical address marker
Displays the main formula used by the 8086 processor:
Physical Address = (Segment × 16) + OffsetExplains how nearby segments can overlap because each segment starts every 16 bytes.
Includes short Arabic explanations about:
- What is a Segment?
- What is an Offset?
- Why multiply by 16?
- Benefits of segmentation
| Category | Technology |
|---|---|
| Structure | HTML5 |
| Styling | CSS3 |
| Logic | JavaScript |
| Direction | Arabic RTL |
| Hosting | GitHub Pages |
Segmentation-in-the-8086-processor/
├── index.html
└── README.mdThe current version is built as a single-page static website.
- Clone the repository:
git clone https://github.com/bilalcodes1/Segmentation-in-the-8086-processor.git- Open the project folder:
cd Segmentation-in-the-8086-processor- Open
index.htmlin your browser.
No installation, backend, or build step is required.
You can try these examples inside the page:
| Segment | Offset | Physical Address |
|---|---|---|
1000 |
0010 |
10010h |
A000 |
1234 |
A1234h |
FFFF |
FFFF |
10FFEFh |
Note: In real 8086 addressing, physical addresses are 20-bit. Some high calculations may exceed the 1 MB range and wrap around depending on real-mode behavior.
html
css
javascript
8086
microprocessor
memory-segmentation
physical-address
computer-architecture
arabic-website
university-project
github-pagesThe purpose of this project is to help Computer Science students understand 8086 memory segmentation through an interactive visual example instead of only reading the formula.
It can be used for:
- Computer architecture study
- Microprocessor course revision
- Understanding Segment:Offset addressing
- University presentations
- Practical explanation of physical address calculation
Bilal Zamil Ahmed Computer Science Student University of Anbar
GitHub: @bilalcodes1 YouTube: Bilal Codes
Educational project — All rights reserved © 2026 Bilal Zamil Ahmed.