PCM-9587 User Manual 48
A.1 Supported GPIO Register
Below are detailed descriptions of the GPIO addresses and a programming sample.

A.1.1 GPIO Registers

CRF0 (GP10-GP17 I/O selection register. Default 0xFF)
When set to a '1', respective GPIO port is programmed as an input port.
When set to a '0', respective GPIO port is programmed as an output port.
CRF1 (GP10-GP17 data register. Default 0x00)
If a port is programmed to be an output port, then its respective bit can be read/writ-
ten.
If a port is programmed to be an input port, then its respective bit can only be read.
CRF2 (GP10-GP17 inversion register. Default 0x00)
When set to a '1', the incoming/outgoing port value is inverted.
When set to a '0', the incoming/outgoing port value is the same as in data register.
Extended Function Index Registers (EFIRs)
The EFIRs are write-only registers with port address 2Eh or 4Eh on PC/AT systems.
Extended Function Data Registers (EFDRs)
the EFDRs are read/write registers with port address 2Fh or 4Fh on PC/AT systems.

A.1.2 GPIO Example program-1

---------------------------------------------------------------------------------------------------------------
Enter the extended function mode, interruptible double-write
---------------------------------------------------------------------------------------------------------------
MOV DX,2EH
MOV AL,87H
OUT DX,AL
OUT DX,AL
---------------------------------------------------------------------------------------------------------------
Configured logical device 7 (GP10~GP17), configuration register CRF0,CRF1,CRF2
---------------------------------------------------------------------------------------------------------------
MOV DX,2EH
MOV AL,07H; point to Logical Device Number Reg.
OUT DX,AL
MOV DX,2FH
MOV AL,07H; select logical device 7
OUT DX,AL;
MOV DX,2EH
MOV AL,F0
OUT DX,AL
MOV DX,2FH
MOV AL,00H; 01:Input 00:output for GP10~GP17
OUT DX,AL
MOV DX,2EH