ISA-to-PC-Card (PCMCIA) Controllers — PD6710/’22
The
Index
register (see
is used to specify which of the internal
registers the CPU will access next. The value in the
Index
register is called the Register Index.
This number specifies a unique internal register. The
Data
register is used by the CPU to read and
write the internal register specified by the
Index
register.
Figure 8. Indexed 8-Bit Register Structure
Internal Registers
FFh
FEh Register
•
Indexes
•
•
02h
01h
00h
High Byte
Data
3E1h
I/O Addresses
Low Byte
Index
3E0h
Figure 9. Indexed 8-Bit Register Example
Internal Registers
The following code segment demonstrates use
of an indexed 8-bit register:
mov dx, 3E0h
mov al, 02h
mov ah, 3Ch
out dx, ax
Register
Indexes
3Ch
AH
3Ch
3E1h
I/O Addresses
02h
3E0h
02h
AL
Double-Indexed Registers
The PD67XX has Extension registers that add to the functionality of the 82365SL-compatible
register set. Within the Extension registers is an
Extended Index
register and
Extended Data
register that provide access to more registers. The registers accessed through
Extended Index
and
Extended Data
are thus double indexed. The example below shows how to access the
Extension
Control 1
register, one of the double-indexed registers.
;Write to Extension Control 1
;Constants section
Extended_Index
EQU
Index_Reg
EQU
Ext_Cntrl_1
EQU
PD67XX_Index
EQU
;Code section
mov
dx, PD67XX_Index
mov
al, Extended_Index
mov
ah, Ext_Cntrl_1
register example
2Eh
2Fh
03h
3E0h
Datasheet
37