// Sample ICD2 linker command file for 16F87

LIBPATH  .

CODEPAGE   NAME=vectors    START=0x0      END=0x4      PROTECTED
CODEPAGE   NAME=page0      START=0x5      END=0x7FF
CODEPAGE   NAME=page1      START=0x800    END=0xEFF
CODEPAGE   NAME=debug      START=0xF00    END=0xFFF PROTECTED
CODEPAGE   NAME=.idlocs    START=0x2000   END=0x2003   PROTECTED
CODEPAGE   NAME=.device_id START=0x2006   END=0x2006   PROTECTED
CODEPAGE   NAME=.config    START=0x2007   END=0x2009   PROTECTED
CODEPAGE   NAME=eedata     START=0x2100   END=0x21FF   PROTECTED

DATABANK   NAME=sfr0     START=0x0      END=0x1F     PROTECTED
DATABANK   NAME=sfr1     START=0x80     END=0x9F     PROTECTED
DATABANK   NAME=sfr2     START=0x100    END=0x10F    PROTECTED
DATABANK   NAME=sfr3     START=0x180    END=0x18F    PROTECTED

SHAREBANK  NAME=dbgnobnk START=0x70     END=0x70 PROTECTED
SHAREBANK  NAME=dbgnobnk START=0xF0     END=0xF0 PROTECTED
SHAREBANK  NAME=dbgnobnk START=0x170    END=0x170 PROTECTED
SHAREBANK  NAME=dbgnobnk START=0x1F0    END=0x1F0 PROTECTED

SHAREBANK  NAME=sfrnobnk START=0x71     END=0x7F 
SHAREBANK  NAME=sfrnobnk START=0xF1     END=0xFF 
SHAREBANK  NAME=sfrnobnk START=0x171    END=0x17F 
SHAREBANK  NAME=sfrnobnk START=0x1F1    END=0x1FF 

DATABANK   NAME=gpr0     START=0x20     END=0x6F
DATABANK   NAME=gpr1     START=0xA0     END=0xEF
DATABANK   NAME=gpr2     START=0x110    END=0x16F
DATABANK   NAME=gpr3     START=0x190    END=0x1E4
DATABANK   NAME=dbg3     START=0x1E5    END=0x1EF PROTECTED

SECTION    NAME=STARTUP  ROM=vectors      // Reset and interrupt vectors
SECTION    NAME=PROG0    ROM=page0        // ROM code space 
SECTION    NAME=PROG1    ROM=page1        // ROM code space 
SECTION    NAME=DEBUG    ROM=debug        // ICD debug executive
SECTION    NAME=IDLOCS   ROM=.idlocs      // ID locations
SECTION    NAME=DEVICEID ROM=.device_id   // Device ID
SECTION    NAME=DEEPROM  ROM=eedata       // Data EEPROM
