OVERVIEW OF THE 80C186 FAMILY ARCHITECTURE

Data: DS:

Code: CS:

Stack: SS:

Extra: ES:

B

E

H

J

FFFFFH

A

B

D

E

G

J

K

0H

C

F

H

I

A1037-0A

Figure 2-7. Currently Addressable Segments

The segment register is automatically selected according to the rules in Table 2-2. All information in one segment type generally shares the same logical attributes (e.g., code or data). This leads to programs that are shorter, faster and better structured.

The Bus Interface Unit must obtain the logical address before generating the physical address. The logical address of a memory location can come from different sources, depending on the type of reference that is being made (see Table 2-2).

Segment registers always hold the segment base addresses. The Bus Interface Unit determines which segment register contains the base address according to the type of memory reference made. However, the programmer can explicitly direct the Bus Interface Unit to use any currently addressable segment (except for the destination operand of a string instruction). In assembly lan- guage, this is done by preceding an instruction with a segment override prefix.

2-11

Page 40
Image 40
Intel 80C188XL, 80C186XL user manual Data DS Code CS Stack SS Extra ES, Fffffh