Homework – Segmented Memory Model
Physical Address Calculation: If segment register e.g. DS has value XXXX and offset register e.g. BX has
value YYYY then memory access mov [BX], 5 is referring to logical address (XXXX:YYYY) and its
corresponding physical address can be calculated as a 20-bit number (XXXX0 + 0YYYY).
Segment Registers in iAPX88: CS, DS, ES, SS
Offset Registers in iAPX88: BX, SI, DI, BP, SP, IP
Question 1 - Fill-in the table for the Segment register values given below and answer following
questions:
Segment
Segment Minimum Maximum window range
value in value in Range of Minimum Maximum in (1MB)
Register
Offset Offset Logical Physical Physical Physical
Value Register Register Addresses Address Address Memory
0000:0000 00000 + 00000 +
00000 to
0000 0000 FFFF to 00000 = 0FFFF =
0FFFF
0000:FFFF 00000 0FFFF
0001
0002
0003
000A
000F
0010
001F
FFFE
FFFF
Findings from above table:
a. If value of a segment register CS is 0xABCD
i. What is the starting (physical) address of Code Segment in 1MB memory? __________
ii. What is the range of logical addresses of this segment? _________________________
iii. What is the range of this Code Segment in 1MB Memory? _______________________
iv. What is the size of this Code Segment and Why? _______________________________
b. If CS = 0x0000 and DS = 0x0001
i. Are these segments overlapping? ___________________________________________
ii. Are they fully overlapping or partially overlapping? _____________________________
iii. What is overlapping memory space in these segments?__________________________
iv. Logical Addresses of overlapping space range between (0000 : ____) to (0000 : _____)
Or (0001 : ______) to (0001 : ______)
c. If CS = 0xFFFE, draw memory configuration of Code Segment. (Submission not required.)
Book Exercise Questions (Sir Bilal Hashmi Notes):
Chapter 1: 17, 18, 19
Chapter 2: 3, 4, 5, 7, 8