17.05.2015 Views

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Address Spaces<br />

Figure 2-20. Offset Address Calculation<br />

Index<br />

Base<br />

Displacement<br />

Offset Address<br />

(Effective Address)<br />

Table 2-17. Memory Addressing Modes<br />

ADDRESSING<br />

SCALE DISPLACEMENT OFFSET ADDRESS (OA)<br />

BASE INDEX<br />

MODE FACTOR (SF) (DP) CALCULATION<br />

Direct X OA=DP<br />

Register indirect X OA=[BASE]<br />

Based X X OA = [BASE] + DP<br />

Index X X OA = [INDEX] + DP<br />

Scaled index X X X OA = ([INDEX] * SF) + DP<br />

Based index X X OA = [BASE] + [INDEX]<br />

Based scaled X X X OA = [BASE] + ([INDEX] * SF)<br />

index<br />

Based index with X X X OA = [BASE] + [INDEX] + DP<br />

displacement<br />

Based scaled X X X X OA = [BASE] + ([INDEX] * SF) + DP<br />

index with<br />

displacement<br />

2.4.2.2 Real Mode Memory Addressing<br />

In real mode operation, the <strong>TI486</strong> addresses only the lowest 1 MByte (2 20 ) of<br />

memory. To calculate a physical memory address, the 16-bit segment base<br />

address located in the selected segment register is shifted left by four bits and<br />

then the 16-bit offset address is added. For the <strong>TI486</strong>SLC/E, the resulting<br />

20-bit address is then extended with four zeros in the upper address bits to<br />

create the 24-bit physical address. For the <strong>TI486</strong>DLC/E, the resulting 20-bit<br />

address is then extended with 12 zeros in the upper address bits to create the<br />

32-bit physical address. Figure 2-21 illustrates the real mode address<br />

calculation. Physical addresses beyond 1 MByte cause a segment limit<br />

overrun exception.<br />

The addition of the base address and the offset address may result in a carry.<br />

Therefore, the resulting address may actually contain up to 21 significant<br />

address bits that address memory in the first 64 KBytes above 1 MByte.<br />

2-40<br />

Programming Interface

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!