You are on page 1of 2

Memory Segmentation

8086 is able to access 1MB of physical memory with 20 address pins. The
complete 1MB of memory is divided into 16 segments, each segment size is
64KB .(16*64KB=1MB).

1MB memory Physical address range is 00000H to FFFFFH


Physical address = Segment address * 10H + Offset address.
Segment address (row address) is 16 bit (0000 to F000H)
Offset address (column address) is 16 bit (0000 to FFFFH)

Suppose to access FFFFEH physical address location

Segment address set to-------F000H

Offset address set to ----------FFFEH

Segment address ------- F000H ----- 1111 0000 0000 0000


Segment address * 10H ----- 1111 0000 0000 0000 0000
+

Offset address --- FFFEH ------ 1111 1111 1111 1110

Physical address -------FFFFEH 1111 1111 1111 1111 1110(20 bit)

The main advantages of the segmented memory scheme are as follows:.


1. Allows the placing of code, data and stack portions of the same program in
different parts (segments) of memory, for data and code protection.
Code Segment contains code
Data Segment contains data
Stack segment contains stack data
Extra segment contains extra data

2. Provision for relocation of program/data.


Overlapping and Non-overlapping Memory segments

You might also like