Professional Documents
Culture Documents
Memory Segmentation
The total memory size is divided into segments of various sizes
8086 can access memory with address ranging from 00000H to 60000
8000:0250
50000
0250
40000
FFFFFH 30000 8000:0000
20000
10000
seg ofs
00000
1
25/01/2020
are:
Code Segment
Data Segment
Stack Segment
Extra Segment
form of:
Each register stores the base address (starting address) of the
Base Address : Offset
corresponding segment
2
25/01/2020
BIU wants to convert this 16-bit address into a 20-bit address following formula:
then: Effective Address = Starting Address of Segment + Offset
the BIU appends 0H to the LSBs of the address To find the starting address of the segment, BIU appends the
after appending, the starting address of the Data Segment contents of Segment Register with 0H
as: EA = 22220H
then the number 0016H is the offset and 2222H is the ------------
value of DS 22236H
3
25/01/2020
Exercise Solutions
The contents of the following registers are: CS = 1111H
Assignment 1 Assignment 1…
Question One [12 Marks] Question Two [8 Marks]
Suppose you had a processor that was designed and operated The contents of the following registers are: CS = 0199H, DS =
similarly to the 8086 architecture with the following 4298H, SS = 22E5H, IP = 14F8H, SP = 1179H, and DI =
differences: All of the registers are 8-bit registers, and the 0A96H. Compute the corresponding physical addresses and the
physical address (PA) is a 10-bit number. ranges of addresses for the code, data and stack segments.
4
25/01/2020
END