Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
idapro / opt / ida90 / libexec / idapro / cfg / pic12.cfg
Size: Mime:
;
; This file defines SFR names and bit names for Microchip's PIC 12 bit processors.
;
; This file can be configured for different devices.
; At the beginning of the file there are definitions common for all devices
; Device-specific definitions are introduced by
;
;       .devicename
;
; line. Also an optional directive
;
;       .default devicename
;
; designates the default device name.
;
;
; It is allowed to have several mappings for the same port. For example:
;
; STATUS     0x03
; STATUS     0x83
; STATUS     0x103
; STATUS     0x183
;
; In this case IDA will redirect all memory references to the first definition.
; (all references to 0x83, 0x103, 0x183 will be rerouted to 0x03)
;

.default 12CE519

.12C508
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0200   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
TMR0            0x0001   8-bit real-time clock/counter
PCL             0x0002   Low order 8 bits of Program Counter register
STATUS          0x0003   STATUS REGISTER
STATUS.GPWUF     7   GPIO reset bit
STATUS.PA0       5   Program page preselect bits
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
FSR             0x0004   Indirect data memory address pointer
OSCCAL          0x0005   Oscillator Calibration register
OSCCAL.CAL3      7   Calibration 3
OSCCAL.CAL2      6   Calibration 2
OSCCAL.CAL1      5   Calibration 1
OSCCAL.CAL0      4   Calibration 0
GPIO            0x0006   GPIO register
GPIO.GP5         5
GPIO.GP4         4
GPIO.GP3         3
GPIO.GP2         2
GPIO.GP1         1
GPIO.GP0         0
R0              0x0007   General Purpose Register 0
R1              0x0008   General Purpose Register 1
R2              0x0009   General Purpose Register 2
R3              0x000A   General Purpose Register 3
R4              0x000B   General Purpose Register 4
R5              0x000C   General Purpose Register 5
R6              0x000D   General Purpose Register 6
R7              0x000E   General Purpose Register 7
R8              0x000F   General Purpose Register 8
R9              0x0010   General Purpose Register 9
R10             0x0011   General Purpose Register 10
R11             0x0012   General Purpose Register 11
R12             0x0013   General Purpose Register 12
R13             0x0014   General Purpose Register 13
R14             0x0015   General Purpose Register 14
R15             0x0016   General Purpose Register 15
R16             0x0017   General Purpose Register 16
R17             0x0018   General Purpose Register 17
R18             0x0019   General Purpose Register 18
R19             0x001A   General Purpose Register 19
R20             0x001B   General Purpose Register 20
R21             0x001C   General Purpose Register 21
R22             0x001D   General Purpose Register 22
R23             0x001E   General Purpose Register 23
R24             0x001F   General Purpose Register 24


.12C508A
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0200   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
TMR0            0x0001   8-bit real-time clock/counter
PCL             0x0002   Low order 8 bits of Program Counter register
STATUS          0x0003   STATUS REGISTER
STATUS.GPWUF     7   GPIO reset bit
STATUS.PA0       5   Program page preselect bits
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
FSR             0x0004   Indirect data memory address pointer
OSCCAL          0x0005   Oscillator Calibration register
OSCCAL.CAL3      7   Calibration 3
OSCCAL.CAL2      6   Calibration 2
OSCCAL.CAL1      5   Calibration 1
OSCCAL.CAL0      4   Calibration 0
GPIO            0x0006   GPIO register
GPIO.GP5         5
GPIO.GP4         4
GPIO.GP3         3
GPIO.GP2         2
GPIO.GP1         1
GPIO.GP0         0
R0              0x0007   General Purpose Register 0
R1              0x0008   General Purpose Register 1
R2              0x0009   General Purpose Register 2
R3              0x000A   General Purpose Register 3
R4              0x000B   General Purpose Register 4
R5              0x000C   General Purpose Register 5
R6              0x000D   General Purpose Register 6
R7              0x000E   General Purpose Register 7
R8              0x000F   General Purpose Register 8
R9              0x0010   General Purpose Register 9
R10             0x0011   General Purpose Register 10
R11             0x0012   General Purpose Register 11
R12             0x0013   General Purpose Register 12
R13             0x0014   General Purpose Register 13
R14             0x0015   General Purpose Register 14
R15             0x0016   General Purpose Register 15
R16             0x0017   General Purpose Register 16
R17             0x0018   General Purpose Register 17
R18             0x0019   General Purpose Register 18
R19             0x001A   General Purpose Register 19
R20             0x001B   General Purpose Register 20
R21             0x001C   General Purpose Register 21
R22             0x001D   General Purpose Register 22
R23             0x001E   General Purpose Register 23
R24             0x001F   General Purpose Register 24


.12C509
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0400   On-chip Program Memory

; BANK_1
; area DATA FSR_           0x0020:0x0040
; area CODE MEM_Program    0x0040:0x0400   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK0 (0x0000:0x0020)
BANK0:INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
BANK0:TMR0            0x0001   8-bit real-time clock/counter
BANK0:PCL             0x0002   Low order 8 bits of Program Counter register
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.GPWUF     7   GPIO reset bit
BANK0:STATUS.PA0       5   Program page preselect bits
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK0:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:OSCCAL          0x0005   Oscillator Calibration register
BANK0:OSCCAL.CAL3      7   Calibration 3
BANK0:OSCCAL.CAL2      6   Calibration 2
BANK0:OSCCAL.CAL1      5   Calibration 1
BANK0:OSCCAL.CAL0      4   Calibration 0
BANK0:GPIO            0x0006   GPIO register
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:R0              0x0007   General Purpose Register 0  (Bank 0)
BANK0:R1              0x0008   General Purpose Register 1  (Bank 0)
BANK0:R2              0x0009   General Purpose Register 2  (Bank 0)
BANK0:R3              0x000A   General Purpose Register 3  (Bank 0)
BANK0:R4              0x000B   General Purpose Register 4  (Bank 0)
BANK0:R5              0x000C   General Purpose Register 5  (Bank 0)
BANK0:R6              0x000D   General Purpose Register 6  (Bank 0)
BANK0:R7              0x000E   General Purpose Register 7  (Bank 0)
BANK0:R8              0x000F   General Purpose Register 8  (Bank 0)
BANK0:R9              0x0010   General Purpose Register 9  (Bank 0)
BANK0:R10             0x0011   General Purpose Register 10  (Bank 0)
BANK0:R11             0x0012   General Purpose Register 11  (Bank 0)
BANK0:R12             0x0013   General Purpose Register 12  (Bank 0)
BANK0:R13             0x0014   General Purpose Register 13  (Bank 0)
BANK0:R14             0x0015   General Purpose Register 14  (Bank 0)
BANK0:R15             0x0016   General Purpose Register 15  (Bank 0)
BANK0:R16             0x0017   General Purpose Register 16  (Bank 0)
BANK0:R17             0x0018   General Purpose Register 17  (Bank 0)
BANK0:R18             0x0019   General Purpose Register 18  (Bank 0)
BANK0:R19             0x001A   General Purpose Register 19  (Bank 0)
BANK0:R20             0x001B   General Purpose Register 20  (Bank 0)
BANK0:R21             0x001C   General Purpose Register 21  (Bank 0)
BANK0:R22             0x001D   General Purpose Register 22  (Bank 0)
BANK0:R23             0x001E   General Purpose Register 23  (Bank 0)
BANK0:R24             0x001F   General Purpose Register 24  (Bank 0)

; BANK1 (0x0020:0x0040)
BANK1:INDF            0x0020   Uses contents of FSR to address data memory (not a physical register)
BANK1:TMR0            0x0021   8-bit real-time clock/counter
BANK1:PCL             0x0022   Low order 8 bits of Program Counter register
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.GPWUF     7   GPIO reset bit
BANK1:STATUS.PA0       5   Program page preselect bits
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK1:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:OSCCAL          0x0025   Oscillator Calibration register
BANK1:OSCCAL.CAL3      7   Calibration 3
BANK1:OSCCAL.CAL2      6   Calibration 2
BANK1:OSCCAL.CAL1      5   Calibration 1
BANK1:OSCCAL.CAL0      4   Calibration 0
BANK1:GPIO            0x0026   GPIO register
BANK1:GPIO.GP5         5
BANK1:GPIO.GP4         4
BANK1:GPIO.GP3         3
BANK1:GPIO.GP2         2
BANK1:GPIO.GP1         1
BANK1:GPIO.GP0         0
BANK1:R0              0x0027   General Purpose Register 0
BANK1:R1              0x0028   General Purpose Register 1
BANK1:R2              0x0029   General Purpose Register 2
BANK1:R3              0x002A   General Purpose Register 3
BANK1:R4              0x002B   General Purpose Register 4
BANK1:R5              0x002C   General Purpose Register 5
BANK1:R6              0x002D   General Purpose Register 6
BANK1:R7              0x002E   General Purpose Register 7
BANK1:R8              0x002F   General Purpose Register 8
BANK1:R25             0x0030   General Purpose Register 25
BANK1:R26             0x0031   General Purpose Register 26
BANK1:R27             0x0032   General Purpose Register 27
BANK1:R28             0x0033   General Purpose Register 28
BANK1:R29             0x0034   General Purpose Register 29
BANK1:R30             0x0035   General Purpose Register 30
BANK1:R31             0x0036   General Purpose Register 31
BANK1:R32             0x0037   General Purpose Register 32
BANK1:R33             0x0038   General Purpose Register 33
BANK1:R34             0x0039   General Purpose Register 34
BANK1:R35             0x003A   General Purpose Register 35
BANK1:R36             0x003B   General Purpose Register 36
BANK1:R37             0x003C   General Purpose Register 37
BANK1:R38             0x003D   General Purpose Register 38
BANK1:R39             0x003E   General Purpose Register 39
BANK1:R40             0x003F   General Purpose Register 40


.12C509A
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0400   On-chip Program Memory

; BANK_1
; area DATA FSR_           0x0020:0x0040
; area CODE MEM_Program    0x0040:0x0400   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0020)
BANK0:INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
BANK0:TMR0            0x0001   8-bit real-time clock/counter
BANK0:PCL             0x0002   Low order 8 bits of Program Counter register
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.GPWUF     7   GPIO reset bit
BANK0:STATUS.PA0       5   Program page preselect bits
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK0:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:OSCCAL          0x0005   Oscillator Calibration register
BANK0:OSCCAL.CAL3      7   Calibration 3
BANK0:OSCCAL.CAL2      6   Calibration 2
BANK0:OSCCAL.CAL1      5   Calibration 1
BANK0:OSCCAL.CAL0      4   Calibration 0
BANK0:GPIO            0x0006   GPIO register
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:R0              0x0007   General Purpose Register 0
BANK0:R1              0x0008   General Purpose Register 1
BANK0:R2              0x0009   General Purpose Register 2
BANK0:R3              0x000A   General Purpose Register 3
BANK0:R4              0x000B   General Purpose Register 4
BANK0:R5              0x000C   General Purpose Register 5
BANK0:R6              0x000D   General Purpose Register 6
BANK0:R7              0x000E   General Purpose Register 7
BANK0:R8              0x000F   General Purpose Register 8
BANK0:R9              0x0010   General Purpose Register 9
BANK0:R10             0x0011   General Purpose Register 10
BANK0:R11             0x0012   General Purpose Register 11
BANK0:R12             0x0013   General Purpose Register 12
BANK0:R13             0x0014   General Purpose Register 13
BANK0:R14             0x0015   General Purpose Register 14
BANK0:R15             0x0016   General Purpose Register 15
BANK0:R16             0x0017   General Purpose Register 16
BANK0:R17             0x0018   General Purpose Register 17
BANK0:R18             0x0019   General Purpose Register 18
BANK0:R19             0x001A   General Purpose Register 19
BANK0:R20             0x001B   General Purpose Register 20
BANK0:R21             0x001C   General Purpose Register 21
BANK0:R22             0x001D   General Purpose Register 22
BANK0:R23             0x001E   General Purpose Register 23
BANK0:R24             0x001F   General Purpose Register 24

; BANK_1 (0x0020:0x0040)
BANK1:INDF            0x0020   Uses contents of FSR to address data memory (not a physical register)
BANK1:TMR0            0x0021   8-bit real-time clock/counter
BANK1:PCL             0x0022   Low order 8 bits of Program Counter register
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.GPWUF     7   GPIO reset bit
BANK1:STATUS.PA0       5   Program page preselect bits
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK1:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:OSCCAL          0x0025   Oscillator Calibration register
BANK1:OSCCAL.CAL3      7   Calibration 3
BANK1:OSCCAL.CAL2      6   Calibration 2
BANK1:OSCCAL.CAL1      5   Calibration 1
BANK1:OSCCAL.CAL0      4   Calibration 0
BANK1:GPIO            0x0026   GPIO register
BANK1:GPIO.GP5         5
BANK1:GPIO.GP4         4
BANK1:GPIO.GP3         3
BANK1:GPIO.GP2         2
BANK1:GPIO.GP1         1
BANK1:GPIO.GP0         0
BANK1:R0              0x0027   General Purpose Register 0
BANK1:R1              0x0028   General Purpose Register 1
BANK1:R2              0x0029   General Purpose Register 2
BANK1:R3              0x002A   General Purpose Register 3
BANK1:R4              0x002B   General Purpose Register 4
BANK1:R5              0x002C   General Purpose Register 5
BANK1:R6              0x002D   General Purpose Register 6
BANK1:R7              0x002E   General Purpose Register 7
BANK1:R8              0x002F   General Purpose Register 8
BANK1:R25             0x0030   General Purpose Register 25
BANK1:R26             0x0031   General Purpose Register 26
BANK1:R27             0x0032   General Purpose Register 27
BANK1:R28             0x0033   General Purpose Register 28
BANK1:R29             0x0034   General Purpose Register 29
BANK1:R30             0x0035   General Purpose Register 30
BANK1:R31             0x0036   General Purpose Register 31
BANK1:R32             0x0037   General Purpose Register 32
BANK1:R33             0x0038   General Purpose Register 33
BANK1:R34             0x0039   General Purpose Register 34
BANK1:R35             0x003A   General Purpose Register 35
BANK1:R36             0x003B   General Purpose Register 36
BANK1:R37             0x003C   General Purpose Register 37
BANK1:R38             0x003D   General Purpose Register 38
BANK1:R39             0x003E   General Purpose Register 39
BANK1:R40             0x003F   General Purpose Register 40


.12CE518
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0200   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
TMR0            0x0001   8-bit real-time clock/counter
PCL             0x0002   Low order 8 bits of Program Counter register
STATUS          0x0003   STATUS REGISTER
STATUS.GPWUF     7   GPIO reset bit
STATUS.PA0       5   Program page preselect bits
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
FSR             0x0004   Indirect data memory address pointer
OSCCAL          0x0005   Oscillator Calibration register
OSCCAL.CAL3      7   Calibration 3
OSCCAL.CAL2      6   Calibration 2
OSCCAL.CAL1      5   Calibration 1
OSCCAL.CAL0      4   Calibration 0
GPIO            0x0006   GPIO register
GPIO.GP5         5
GPIO.GP4         4
GPIO.GP3         3
GPIO.GP2         2
GPIO.GP1         1
GPIO.GP0         0
R0              0x0007   General Purpose Register 0
R1              0x0008   General Purpose Register 1
R2              0x0009   General Purpose Register 2
R3              0x000A   General Purpose Register 3
R4              0x000B   General Purpose Register 4
R5              0x000C   General Purpose Register 5
R6              0x000D   General Purpose Register 6
R7              0x000E   General Purpose Register 7
R8              0x000F   General Purpose Register 8
R9              0x0010   General Purpose Register 9
R10             0x0011   General Purpose Register 10
R11             0x0012   General Purpose Register 11
R12             0x0013   General Purpose Register 12
R13             0x0014   General Purpose Register 13
R14             0x0015   General Purpose Register 14
R15             0x0016   General Purpose Register 15
R16             0x0017   General Purpose Register 16
R17             0x0018   General Purpose Register 17
R18             0x0019   General Purpose Register 18
R19             0x001A   General Purpose Register 19
R20             0x001B   General Purpose Register 20
R21             0x001C   General Purpose Register 21
R22             0x001D   General Purpose Register 22
R23             0x001E   General Purpose Register 23
R24             0x001F   General Purpose Register 24


.12CE519
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0400   On-chip Program Memory

; BANK_1
; area DATA FSR_           0x0020:0x0040
; area CODE MEM_Program    0x0040:0x0400   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0020)
BANK0:INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
BANK0:TMR0            0x0001   8-bit real-time clock/counter
BANK0:PCL             0x0002   Low order 8 bits of Program Counter register
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.GPWUF     7   GPIO reset bit
BANK0:STATUS.PA0       5   Program page preselect bits
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK0:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:OSCCAL          0x0005   Oscillator Calibration register
BANK0:OSCCAL.CAL3      7   Calibration 3
BANK0:OSCCAL.CAL2      6   Calibration 2
BANK0:OSCCAL.CAL1      5   Calibration 1
BANK0:OSCCAL.CAL0      4   Calibration 0
BANK0:GPIO            0x0006   GPIO register
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:R0              0x0007   General Purpose Register 0
BANK0:R1              0x0008   General Purpose Register 1
BANK0:R2              0x0009   General Purpose Register 2
BANK0:R3              0x000A   General Purpose Register 3
BANK0:R4              0x000B   General Purpose Register 4
BANK0:R5              0x000C   General Purpose Register 5
BANK0:R6              0x000D   General Purpose Register 6
BANK0:R7              0x000E   General Purpose Register 7
BANK0:R8              0x000F   General Purpose Register 8
BANK0:R9              0x0010   General Purpose Register 9
BANK0:R10             0x0011   General Purpose Register 10
BANK0:R11             0x0012   General Purpose Register 11
BANK0:R12             0x0013   General Purpose Register 12
BANK0:R13             0x0014   General Purpose Register 13
BANK0:R14             0x0015   General Purpose Register 14
BANK0:R15             0x0016   General Purpose Register 15
BANK0:R16             0x0017   General Purpose Register 16
BANK0:R17             0x0018   General Purpose Register 17
BANK0:R18             0x0019   General Purpose Register 18
BANK0:R19             0x001A   General Purpose Register 19
BANK0:R20             0x001B   General Purpose Register 20
BANK0:R21             0x001C   General Purpose Register 21
BANK0:R22             0x001D   General Purpose Register 22
BANK0:R23             0x001E   General Purpose Register 23
BANK0:R24             0x001F   General Purpose Register 24

; BANK_1 (0x0020:0x0040)
BANK1:INDF            0x0020   Uses contents of FSR to address data memory (not a physical register)
BANK1:TMR0            0x0021   8-bit real-time clock/counter
BANK1:PCL             0x0022   Low order 8 bits of Program Counter register
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.GPWUF     7   GPIO reset bit
BANK1:STATUS.PA0       5   Program page preselect bits
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK1:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:OSCCAL          0x0025   Oscillator Calibration register
BANK1:OSCCAL.CAL3      7   Calibration 3
BANK1:OSCCAL.CAL2      6   Calibration 2
BANK1:OSCCAL.CAL1      5   Calibration 1
BANK1:OSCCAL.CAL0      4   Calibration 0
BANK1:GPIO            0x0026   GPIO register
BANK1:GPIO.GP5         5
BANK1:GPIO.GP4         4
BANK1:GPIO.GP3         3
BANK1:GPIO.GP2         2
BANK1:GPIO.GP1         1
BANK1:GPIO.GP0         0
BANK1:R0              0x0027   General Purpose Register 0
BANK1:R1              0x0028   General Purpose Register 1
BANK1:R2              0x0029   General Purpose Register 2
BANK1:R3              0x002A   General Purpose Register 3
BANK1:R4              0x002B   General Purpose Register 4
BANK1:R5              0x002C   General Purpose Register 5
BANK1:R6              0x002D   General Purpose Register 6
BANK1:R7              0x002E   General Purpose Register 7
BANK1:R8              0x002F   General Purpose Register 8
BANK1:R25             0x0030   General Purpose Register 25
BANK1:R26             0x0031   General Purpose Register 26
BANK1:R27             0x0032   General Purpose Register 27
BANK1:R28             0x0033   General Purpose Register 28
BANK1:R29             0x0034   General Purpose Register 29
BANK1:R30             0x0035   General Purpose Register 30
BANK1:R31             0x0036   General Purpose Register 31
BANK1:R32             0x0037   General Purpose Register 32
BANK1:R33             0x0038   General Purpose Register 33
BANK1:R34             0x0039   General Purpose Register 34
BANK1:R35             0x003A   General Purpose Register 35
BANK1:R36             0x003B   General Purpose Register 36
BANK1:R37             0x003C   General Purpose Register 37
BANK1:R38             0x003D   General Purpose Register 38
BANK1:R39             0x003E   General Purpose Register 39
BANK1:R40             0x003F   General Purpose Register 40


.12CR509A
; http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf
; PIC12C5xx.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area CODE MEM_Program    0x0020:0x0400   On-chip Program Memory

; BANK_1
; area DATA FSR_           0x0020:0x0040
; area CODE MEM_Program    0x0040:0x0400   On-chip Program Memory


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0020)
BANK0:INDF            0x0000   Uses contents of FSR to address data memory (not a physical register)
BANK0:TMR0            0x0001   8-bit real-time clock/counter
BANK0:PCL             0x0002   Low order 8 bits of Program Counter register
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.GPWUF     7   GPIO reset bit
BANK0:STATUS.PA0       5   Program page preselect bits
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK0:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:OSCCAL          0x0005   Oscillator Calibration register
BANK0:OSCCAL.CAL3      7   Calibration 3
BANK0:OSCCAL.CAL2      6   Calibration 2
BANK0:OSCCAL.CAL1      5   Calibration 1
BANK0:OSCCAL.CAL0      4   Calibration 0
BANK0:GPIO            0x0006   GPIO register
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:R0              0x0007   General Purpose Register 0
BANK0:R1              0x0008   General Purpose Register 1
BANK0:R2              0x0009   General Purpose Register 2
BANK0:R3              0x000A   General Purpose Register 3
BANK0:R4              0x000B   General Purpose Register 4
BANK0:R5              0x000C   General Purpose Register 5
BANK0:R6              0x000D   General Purpose Register 6
BANK0:R7              0x000E   General Purpose Register 7
BANK0:R8              0x000F   General Purpose Register 8
BANK0:R9              0x0010   General Purpose Register 9
BANK0:R10             0x0011   General Purpose Register 10
BANK0:R11             0x0012   General Purpose Register 11
BANK0:R12             0x0013   General Purpose Register 12
BANK0:R13             0x0014   General Purpose Register 13
BANK0:R14             0x0015   General Purpose Register 14
BANK0:R15             0x0016   General Purpose Register 15
BANK0:R16             0x0017   General Purpose Register 16
BANK0:R17             0x0018   General Purpose Register 17
BANK0:R18             0x0019   General Purpose Register 18
BANK0:R19             0x001A   General Purpose Register 19
BANK0:R20             0x001B   General Purpose Register 20
BANK0:R21             0x001C   General Purpose Register 21
BANK0:R22             0x001D   General Purpose Register 22
BANK0:R23             0x001E   General Purpose Register 23
BANK0:R24             0x001F   General Purpose Register 24

; BANK_1 (0x0020:0x0040)
BANK1:INDF            0x0020   Uses contents of FSR to address data memory (not a physical register)
BANK1:TMR0            0x0021   8-bit real-time clock/counter
BANK1:PCL             0x0022   Low order 8 bits of Program Counter register
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.GPWUF     7   GPIO reset bit
BANK1:STATUS.PA0       5   Program page preselect bits
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit (for ADDWF and SUBWF instructions)
BANK1:STATUS.C         0   Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:OSCCAL          0x0025   Oscillator Calibration register
BANK1:OSCCAL.CAL3      7   Calibration 3
BANK1:OSCCAL.CAL2      6   Calibration 2
BANK1:OSCCAL.CAL1      5   Calibration 1
BANK1:OSCCAL.CAL0      4   Calibration 0
BANK1:GPIO            0x0026   GPIO register
BANK1:GPIO.GP5         5
BANK1:GPIO.GP4         4
BANK1:GPIO.GP3         3
BANK1:GPIO.GP2         2
BANK1:GPIO.GP1         1
BANK1:GPIO.GP0         0
BANK1:R0              0x0027   General Purpose Register 0
BANK1:R1              0x0028   General Purpose Register 1
BANK1:R2              0x0029   General Purpose Register 2
BANK1:R3              0x002A   General Purpose Register 3
BANK1:R4              0x002B   General Purpose Register 4
BANK1:R5              0x002C   General Purpose Register 5
BANK1:R6              0x002D   General Purpose Register 6
BANK1:R7              0x002E   General Purpose Register 7
BANK1:R8              0x002F   General Purpose Register 8
BANK1:R25             0x0030   General Purpose Register 25
BANK1:R26             0x0031   General Purpose Register 26
BANK1:R27             0x0032   General Purpose Register 27
BANK1:R28             0x0033   General Purpose Register 28
BANK1:R29             0x0034   General Purpose Register 29
BANK1:R30             0x0035   General Purpose Register 30
BANK1:R31             0x0036   General Purpose Register 31
BANK1:R32             0x0037   General Purpose Register 32
BANK1:R33             0x0038   General Purpose Register 33
BANK1:R34             0x0039   General Purpose Register 34
BANK1:R35             0x003A   General Purpose Register 35
BANK1:R36             0x003B   General Purpose Register 36
BANK1:R37             0x003C   General Purpose Register 37
BANK1:R38             0x003D   General Purpose Register 38
BANK1:R39             0x003E   General Purpose Register 39
BANK1:R40             0x003F   General Purpose Register 40


.12C671
; http://www.microchip.com/download/lit/pline/picmicro/families/12c67x/30561b.pdf
; PIC12C67x.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area DATA Gen_Purp       0x0020:0x0080   General Purpose Register
area CODE MEM_Program    0x0080:0x0400   On-chip Program Memory


; BANK_1
; area DATA FSR_           0x0080:0x00A0
; area DATA Gen_Purp_0     0x00A0:0x00C0   General Purpose Register 0
; area BSS  RESERVED       0x00C0:0x00F0
; area DATA Gen_Purp_1     0x00F0:0x0100   General Purpose Register 1 (Mapped in Bank 0)
; area CODE MEM_Program    0x0100:0x0400   Mapped in Bank 0


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0080)
BANK0:INDF            0x0000   INDF
BANK0:TMR0              0x0001   Timer0 module's register
BANK0:PCL             0x0002   Program Counter's (PC) Least Significant Byte
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.IRP       7   Register Bank Select bit
BANK0:STATUS.RP1       6   Register Bank Select bit 1
BANK0:STATUS.RP0       5   Register Bank Select bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit Carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:GPIO            0x0005   GPIO REGISTER
BANK0:GPIO.SCL         7
BANK0:GPIO.SDA         6
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:RESERVED0006    0x0006   RESERVED
BANK0:RESERVED0007    0x0007   RESERVED
BANK0:RESERVED0008    0x0008   RESERVED
BANK0:RESERVED0009    0x0009   RESERVED
BANK0:PCLATH          0x000A   PCLATH REGISTER
BANK0:PCLATH.PCLATH4   4
BANK0:PCLATH.PCLATH3   3
BANK0:PCLATH.PCLATH2   2
BANK0:PCLATH.PCLATH1   1
BANK0:PCLATH.PCLATH0   0
BANK0:INTCON          0x000B   INTCON REGISTER
BANK0:INTCON.GIE       7   Global Interrupt Enable bit
BANK0:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK0:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK0:INTCON.INTE      4   INT External Interrupt Enable bit
BANK0:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK0:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK0:INTCON.INTF      1   INT External Interrupt Flag bit
BANK0:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK0:PIR1            0x000C   PIR1 REGISTER
BANK0:PIR1.ADIF        6   A/D Converter Interrupt Flag bit
BANK0:RESERVED000D    0x000D   RESERVED
BANK0:RESERVED000E    0x000E   RESERVED
BANK0:RESERVED000F    0x000F   RESERVED
BANK0:RESERVED0010    0x0010   RESERVED
BANK0:RESERVED0011    0x0011   RESERVED
BANK0:RESERVED0012    0x0012   RESERVED
BANK0:RESERVED0013    0x0013   RESERVED
BANK0:RESERVED0014    0x0014   RESERVED
BANK0:RESERVED0015    0x0015   RESERVED
BANK0:RESERVED0016    0x0016   RESERVED
BANK0:RESERVED0017    0x0017   RESERVED
BANK0:RESERVED0018    0x0018   RESERVED
BANK0:RESERVED0019    0x0019   RESERVED
BANK0:RESERVED001A    0x001A   RESERVED
BANK0:RESERVED001B    0x001B   RESERVED
BANK0:RESERVED001C    0x001C   RESERVED
BANK0:RESERVED001D    0x001D   RESERVED
BANK0:ADRES           0x001E   A/D Result Register
BANK0:ADCON0          0x001F   ADCON0 REGISTER
BANK0:ADCON0.ADCS1     7   A/D Conversion Clock Select bit 1
BANK0:ADCON0.ADCS0     6   A/D Conversion Clock Select bit 0
BANK0:ADCON0.CHS1      4   Analog Channel Select bit 1
BANK0:ADCON0.CHS0      3   Analog Channel Select bit 0
BANK0:ADCON0.GO_DONE   2   A/D Conversion Status bit
BANK0:ADCON0.ADON      0   A/D on bit

; BANK_1 (0x0080:0x0100)
BANK1:INDF            0x0080   INDF REGISTER
BANK1:OPTION          0x0081   OPTION REGISTER
BANK1:OPTION.GPPU      7   Weak Pull-up Enable
BANK1:OPTION.INTEDG    6   Interrupt Edge
BANK1:OPTION.T0CS      5   TMR0 Clock Source Select bit
BANK1:OPTION.T0SE      4   TMR0 Source Edge Select bit
BANK1:OPTION.PSA       3   Prescaler Assignment bit
BANK1:OPTION.PS2       2   Prescaler Rate Select bit 2
BANK1:OPTION.PS1       1   Prescaler Rate Select bit 1
BANK1:OPTION.PS0       0   Prescaler Rate Select bit 0
BANK1:PCL             0x0082   Program Counter's (PC) Least Significant Byte
BANK1:STATUS          0x0083   STATUS REGISTER
BANK1:STATUS.IRP       7   Register Bank Select bit
BANK1:STATUS.RP1       6   Register Bank Select bit 1
BANK1:STATUS.RP0       5   Register Bank Select bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit Carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0084   Indirect data memory address pointer
BANK1:TRIS            0x0085   TRIS REGISTER
BANK1:TRIS.TRIS5       5
BANK1:TRIS.TRIS4       4
BANK1:TRIS.TRIS3       3
BANK1:TRIS.TRIS2       2
BANK1:TRIS.TRIS1       1
BANK1:TRIS.TRIS0       0
BANK1:RESERVED0086    0x0086   RESERVED
BANK1:RESERVED0087    0x0087   RESERVED
BANK1:RESERVED0088    0x0088   RESERVED
BANK1:RESERVED0089    0x0089   RESERVED
BANK1:PCLATH          0x008A   PCLATH REGISTER
BANK1:PCLATH.PCLATH4   4
BANK1:PCLATH.PCLATH3   3
BANK1:PCLATH.PCLATH2   2
BANK1:PCLATH.PCLATH1   1
BANK1:PCLATH.PCLATH0   0
BANK1:INTCON          0x008B   INTCON REGISTER
BANK1:INTCON.GIE       7   Global Interrupt Enable bit
BANK1:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK1:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK1:INTCON.INTE      4   INT External Interrupt Enable bit
BANK1:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK1:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK1:INTCON.INTF      1   INT External Interrupt Flag bit
BANK1:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK1:PIE1            0x008C   PIE1 REGISTER
BANK1:PIE1.ADIE        6   A/D Converter Interrupt Enable bit
BANK1:RESERVED008D    0x008D   RESERVED
BANK1:PCON            0x008E   PCON REGISTER
BANK1:PCON.POR         1   Power-on Reset Status bit
BANK1:OSCCAL          0x008F   OSCCAL REGISTER
BANK1:OSCCAL.CAL3      7   Fine Calibration 3
BANK1:OSCCAL.CAL2      6   Fine Calibration 2
BANK1:OSCCAL.CAL1      5   Fine Calibration 1
BANK1:OSCCAL.CAL0      4   Fine Calibration 0
BANK1:OSCCAL.CALFST    3   Calibration Fast
BANK1:OSCCAL.CALSLW    2   Calibration Slow
BANK1:RESERVED0090    0x0090   RESERVED
BANK1:RESERVED0091    0x0091   RESERVED
BANK1:RESERVED0092    0x0092   RESERVED
BANK1:RESERVED0093    0x0093   RESERVED
BANK1:RESERVED0094    0x0094   RESERVED
BANK1:RESERVED0095    0x0095   RESERVED
BANK1:RESERVED0096    0x0096   RESERVED
BANK1:RESERVED0097    0x0097   RESERVED
BANK1:RESERVED0098    0x0098   RESERVED
BANK1:RESERVED0099    0x0099   RESERVED
BANK1:RESERVED009A    0x009A   RESERVED
BANK1:RESERVED009B    0x009B   RESERVED
BANK1:RESERVED009C    0x009C   RESERVED
BANK1:RESERVED009D    0x009D   RESERVED
BANK1:RESERVED009E    0x009E   RESERVED
BANK1:ADCON1          0x009F   ADCON1 REGISTER
BANK1:ADCON1.PCFG2     2   A/D Port Configuration Control bit 2
BANK1:ADCON1.PCFG1     1   A/D Port Configuration Control bit 1
BANK1:ADCON1.PCFG0     0   A/D Port Configuration Control bit 0


.12C672
; http://www.microchip.com/download/lit/pline/picmicro/families/12c67x/30561b.pdf
; PIC12C67x.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area DATA Gen_Purp       0x0020:0x0080   General Purpose Register
area CODE MEM_Program    0x0080:0x0800   On-chip Program Memory


; BANK_1
; area DATA FSR_           0x0080:0x00A0
; area DATA Gen_Purp       0x00A0:0x00C0   General Purpose Register
; area BSS  RESERVED       0x00C0:0x00F0
; area DATA Gen_Purp_1     0x00F0:0x0100   General Purpose Register 1 (Mapped in Bank 0)
; area CODE MEM_Program    0x0100:0x0800   Mapped in Bank 0


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0080)
BANK0:INDF            0x0000   INDF
BANK0:TMR0              0x0001   Timer0 module's register
BANK0:PCL             0x0002   Program Counter's (PC) Least Significant Byte
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.IRP       7   Register Bank Select bit
BANK0:STATUS.RP1       6   Register Bank Select bit 1
BANK0:STATUS.RP0       5   Register Bank Select bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit Carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:GPIO            0x0005   GPIO REGISTER
BANK0:GPIO.SCL         7
BANK0:GPIO.SDA         6
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:RESERVED0006    0x0006   RESERVED
BANK0:RESERVED0007    0x0007   RESERVED
BANK0:RESERVED0008    0x0008   RESERVED
BANK0:RESERVED0009    0x0009   RESERVED
BANK0:PCLATH          0x000A   PCLATH REGISTER
BANK0:PCLATH.PCLATH4   4
BANK0:PCLATH.PCLATH3   3
BANK0:PCLATH.PCLATH2   2
BANK0:PCLATH.PCLATH1   1
BANK0:PCLATH.PCLATH0   0
BANK0:INTCON          0x000B   INTCON REGISTER
BANK0:INTCON.GIE       7   Global Interrupt Enable bit
BANK0:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK0:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK0:INTCON.INTE      4   INT External Interrupt Enable bit
BANK0:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK0:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK0:INTCON.INTF      1   INT External Interrupt Flag bit
BANK0:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK0:PIR1            0x000C   PIR1 REGISTER
BANK0:PIR1.ADIF        6   A/D Converter Interrupt Flag bit
BANK0:RESERVED000D    0x000D   RESERVED
BANK0:RESERVED000E    0x000E   RESERVED
BANK0:RESERVED000F    0x000F   RESERVED
BANK0:RESERVED0010    0x0010   RESERVED
BANK0:RESERVED0011    0x0011   RESERVED
BANK0:RESERVED0012    0x0012   RESERVED
BANK0:RESERVED0013    0x0013   RESERVED
BANK0:RESERVED0014    0x0014   RESERVED
BANK0:RESERVED0015    0x0015   RESERVED
BANK0:RESERVED0016    0x0016   RESERVED
BANK0:RESERVED0017    0x0017   RESERVED
BANK0:RESERVED0018    0x0018   RESERVED
BANK0:RESERVED0019    0x0019   RESERVED
BANK0:RESERVED001A    0x001A   RESERVED
BANK0:RESERVED001B    0x001B   RESERVED
BANK0:RESERVED001C    0x001C   RESERVED
BANK0:RESERVED001D    0x001D   RESERVED
BANK0:ADRES           0x001E   A/D Result Register
BANK0:ADCON0          0x001F   ADCON0 REGISTER
BANK0:ADCON0.ADCS1     7   A/D Conversion Clock Select bit 1
BANK0:ADCON0.ADCS0     6   A/D Conversion Clock Select bit 0
BANK0:ADCON0.CHS1      4   Analog Channel Select bit 1
BANK0:ADCON0.CHS0      3   Analog Channel Select bit 0
BANK0:ADCON0.GO_DONE   2   A/D Conversion Status bit
BANK0:ADCON0.ADON      0   A/D on bit

; BANK_1 (0x0080:0x0100)
BANK1:INDF            0x0080   INDF REGISTER
BANK1:OPTION          0x0081   OPTION REGISTER
BANK1:OPTION.GPPU      7   Weak Pull-up Enable
BANK1:OPTION.INTEDG    6   Interrupt Edge
BANK1:OPTION.T0CS      5   TMR0 Clock Source Select bit
BANK1:OPTION.T0SE      4   TMR0 Source Edge Select bit
BANK1:OPTION.PSA       3   Prescaler Assignment bit
BANK1:OPTION.PS2       2   Prescaler Rate Select bit 2
BANK1:OPTION.PS1       1   Prescaler Rate Select bit 1
BANK1:OPTION.PS0       0   Prescaler Rate Select bit 0
BANK1:PCL             0x0082   Program Counter's (PC) Least Significant Byte
BANK1:STATUS          0x0083   STATUS REGISTER
BANK1:STATUS.IRP       7   Register Bank Select bit
BANK1:STATUS.RP1       6   Register Bank Select bit 1
BANK1:STATUS.RP0       5   Register Bank Select bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit Carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0084   Indirect data memory address pointer
BANK1:TRIS            0x0085   TRIS REGISTER
BANK1:TRIS.TRIS5       5
BANK1:TRIS.TRIS4       4
BANK1:TRIS.TRIS3       3
BANK1:TRIS.TRIS2       2
BANK1:TRIS.TRIS1       1
BANK1:TRIS.TRIS0       0
BANK1:RESERVED0086    0x0086   RESERVED
BANK1:RESERVED0087    0x0087   RESERVED
BANK1:RESERVED0088    0x0088   RESERVED
BANK1:RESERVED0089    0x0089   RESERVED
BANK1:PCLATH          0x008A   PCLATH REGISTER
BANK1:PCLATH.PCLATH4   4
BANK1:PCLATH.PCLATH3   3
BANK1:PCLATH.PCLATH2   2
BANK1:PCLATH.PCLATH1   1
BANK1:PCLATH.PCLATH0   0
BANK1:INTCON          0x008B   INTCON REGISTER
BANK1:INTCON.GIE       7   Global Interrupt Enable bit
BANK1:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK1:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK1:INTCON.INTE      4   INT External Interrupt Enable bit
BANK1:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK1:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK1:INTCON.INTF      1   INT External Interrupt Flag bit
BANK1:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK1:PIE1            0x008C   PIE1 REGISTER
BANK1:PIE1.ADIE        6   A/D Converter Interrupt Enable bit
BANK1:RESERVED008D    0x008D   RESERVED
BANK1:PCON            0x008E   PCON REGISTER
BANK1:PCON.POR         1   Power-on Reset Status bit
BANK1:OSCCAL          0x008F   OSCCAL REGISTER
BANK1:OSCCAL.CAL3      7   Fine Calibration 3
BANK1:OSCCAL.CAL2      6   Fine Calibration 2
BANK1:OSCCAL.CAL1      5   Fine Calibration 1
BANK1:OSCCAL.CAL0      4   Fine Calibration 0
BANK1:OSCCAL.CALFST    3   Calibration Fast
BANK1:OSCCAL.CALSLW    2   Calibration Slow
BANK1:RESERVED0090    0x0090   RESERVED
BANK1:RESERVED0091    0x0091   RESERVED
BANK1:RESERVED0092    0x0092   RESERVED
BANK1:RESERVED0093    0x0093   RESERVED
BANK1:RESERVED0094    0x0094   RESERVED
BANK1:RESERVED0095    0x0095   RESERVED
BANK1:RESERVED0096    0x0096   RESERVED
BANK1:RESERVED0097    0x0097   RESERVED
BANK1:RESERVED0098    0x0098   RESERVED
BANK1:RESERVED0099    0x0099   RESERVED
BANK1:RESERVED009A    0x009A   RESERVED
BANK1:RESERVED009B    0x009B   RESERVED
BANK1:RESERVED009C    0x009C   RESERVED
BANK1:RESERVED009D    0x009D   RESERVED
BANK1:RESERVED009E    0x009E   RESERVED
BANK1:ADCON1          0x009F   ADCON1 REGISTER
BANK1:ADCON1.PCFG2     2   A/D Port Configuration Control bit 2
BANK1:ADCON1.PCFG1     1   A/D Port Configuration Control bit 1
BANK1:ADCON1.PCFG0     0   A/D Port Configuration Control bit 0


.12CE673
; http://www.microchip.com/download/lit/pline/picmicro/families/12c67x/30561b.pdf
; PIC12C67x.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area DATA Gen_Purp       0x0020:0x0080   General Purpose Register
area CODE MEM_Program    0x0080:0x0400   On-chip Program Memory


; BANK_1
; area DATA FSR_           0x0080:0x00A0
; area DATA Gen_Purp       0x00A0:0x00C0   General Purpose Register
; area BSS  RESERVED       0x00C0:0x00F0
; area DATA Gen_Purp_1     0x00F0:0x0100   General Purpose Register 1 (Mapped in Bank 0)
; area CODE MEM_Program    0x0100:0x0400   Mapped in Bank 0


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0080)
BANK0:INDF            0x0000   INDF REGISTER
BANK0:TMR0            0x0001   Timer0 module's register
BANK0:PCL             0x0002   Program Counter's (PC) Least Significant Byte
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.IRP       7   Register Bank Select bit
BANK0:STATUS.RP1       6   Register Bank Select bit 1
BANK0:STATUS.RP0       5   Register Bank Select bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit Carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:GPIO            0x0005   GPIO REGISTER
BANK0:GPIO.SCL         7
BANK0:GPIO.SDA         6
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:RESERVED0006    0x0006   RESERVED
BANK0:RESERVED0007    0x0007   RESERVED
BANK0:RESERVED0008    0x0008   RESERVED
BANK0:RESERVED0009    0x0009   RESERVED
BANK0:PCLATH          0x000A   PCLATH REGISTER
BANK0:PCLATH.PCLATH4   4
BANK0:PCLATH.PCLATH3   3
BANK0:PCLATH.PCLATH2   2
BANK0:PCLATH.PCLATH1   1
BANK0:PCLATH.PCLATH0   0
BANK0:INTCON          0x000B   INTCON REGISTER
BANK0:INTCON.GIE       7   Global Interrupt Enable bit
BANK0:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK0:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK0:INTCON.INTE      4   INT External Interrupt Enable bit
BANK0:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK0:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK0:INTCON.INTF      1   INT External Interrupt Flag bit
BANK0:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK0:PIR1            0x000C   PIR1 REGISTER
BANK0:PIR1.ADIF        6   A/D Converter Interrupt Flag bit
BANK0:RESERVED000D    0x000D   RESERVED
BANK0:RESERVED000E    0x000E   RESERVED
BANK0:RESERVED000F    0x000F   RESERVED
BANK0:RESERVED0010    0x0010   RESERVED
BANK0:RESERVED0011    0x0011   RESERVED
BANK0:RESERVED0012    0x0012   RESERVED
BANK0:RESERVED0013    0x0013   RESERVED
BANK0:RESERVED0014    0x0014   RESERVED
BANK0:RESERVED0015    0x0015   RESERVED
BANK0:RESERVED0016    0x0016   RESERVED
BANK0:RESERVED0017    0x0017   RESERVED
BANK0:RESERVED0018    0x0018   RESERVED
BANK0:RESERVED0019    0x0019   RESERVED
BANK0:RESERVED001A    0x001A   RESERVED
BANK0:RESERVED001B    0x001B   RESERVED
BANK0:RESERVED001C    0x001C   RESERVED
BANK0:RESERVED001D    0x001D   RESERVED
BANK0:ADRES           0x001E   A/D Result Register
BANK0:ADCON0          0x001F   ADCON0 REGISTER
BANK0:ADCON0.ADCS1     7   A/D Conversion Clock Select bit 1
BANK0:ADCON0.ADCS0     6   A/D Conversion Clock Select bit 0
BANK0:ADCON0.CHS1      4   Analog Channel Select bit 1
BANK0:ADCON0.CHS0      3   Analog Channel Select bit 0
BANK0:ADCON0.GO_DONE   2   A/D Conversion Status bit
BANK0:ADCON0.ADON      0   A/D on bit

; BANK_1 (0x0080:0x0100)
BANK1:INDF            0x0080   INDF REGISTER
BANK1:OPTION          0x0081   OPTION REGISTER
BANK1:OPTION.GPPU      7   Weak Pull-up Enable
BANK1:OPTION.INTEDG    6   Interrupt Edge
BANK1:OPTION.T0CS      5   TMR0 Clock Source Select bit
BANK1:OPTION.T0SE      4   TMR0 Source Edge Select bit
BANK1:OPTION.PSA       3   Prescaler Assignment bit
BANK1:OPTION.PS2       2   Prescaler Rate Select bit 2
BANK1:OPTION.PS1       1   Prescaler Rate Select bit 1
BANK1:OPTION.PS0       0   Prescaler Rate Select bit 0
BANK1:PCL             0x0082   Program Counter's (PC) Least Significant Byte
BANK1:STATUS          0x0083   STATUS REGISTER
BANK1:STATUS.IRP       7   Register Bank Select bit
BANK1:STATUS.RP1       6   Register Bank Select bit 1
BANK1:STATUS.RP0       5   Register Bank Select bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit Carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0084   Indirect data memory address pointer
BANK1:TRIS            0x0085   TRIS REGISTER
BANK1:TRIS.TRIS5       5
BANK1:TRIS.TRIS4       4
BANK1:TRIS.TRIS3       3
BANK1:TRIS.TRIS2       2
BANK1:TRIS.TRIS1       1
BANK1:TRIS.TRIS0       0
BANK1:RESERVED0086    0x0086   RESERVED
BANK1:RESERVED0087    0x0087   RESERVED
BANK1:RESERVED0088    0x0088   RESERVED
BANK1:RESERVED0089    0x0089   RESERVED
BANK1:PCLATH          0x008A   PCLATH REGISTER
BANK1:PCLATH.PCLATH4   4
BANK1:PCLATH.PCLATH3   3
BANK1:PCLATH.PCLATH2   2
BANK1:PCLATH.PCLATH1   1
BANK1:PCLATH.PCLATH0   0
BANK1:INTCON          0x008B   INTCON REGISTER
BANK1:INTCON.GIE       7   Global Interrupt Enable bit
BANK1:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK1:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK1:INTCON.INTE      4   INT External Interrupt Enable bit
BANK1:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK1:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK1:INTCON.INTF      1   INT External Interrupt Flag bit
BANK1:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK1:PIE1            0x008C   PIE1 REGISTER
BANK1:PIE1.ADIE        6   A/D Converter Interrupt Enable bit
BANK1:RESERVED008D    0x008D   RESERVED
BANK1:PCON            0x008E   PCON REGISTER
BANK1:PCON.POR         1   Power-on Reset Status bit
BANK1:OSCCAL          0x008F   OSCCAL REGISTER
BANK1:OSCCAL.CAL3      7   Fine Calibration 3
BANK1:OSCCAL.CAL2      6   Fine Calibration 2
BANK1:OSCCAL.CAL1      5   Fine Calibration 1
BANK1:OSCCAL.CAL0      4   Fine Calibration 0
BANK1:OSCCAL.CALFST    3   Calibration Fast
BANK1:OSCCAL.CALSLW    2   Calibration Slow
BANK1:RESERVED0090    0x0090   RESERVED
BANK1:RESERVED0091    0x0091   RESERVED
BANK1:RESERVED0092    0x0092   RESERVED
BANK1:RESERVED0093    0x0093   RESERVED
BANK1:RESERVED0094    0x0094   RESERVED
BANK1:RESERVED0095    0x0095   RESERVED
BANK1:RESERVED0096    0x0096   RESERVED
BANK1:RESERVED0097    0x0097   RESERVED
BANK1:RESERVED0098    0x0098   RESERVED
BANK1:RESERVED0099    0x0099   RESERVED
BANK1:RESERVED009A    0x009A   RESERVED
BANK1:RESERVED009B    0x009B   RESERVED
BANK1:RESERVED009C    0x009C   RESERVED
BANK1:RESERVED009D    0x009D   RESERVED
BANK1:RESERVED009E    0x009E   RESERVED
BANK1:ADCON1          0x009F   ADCON1 REGISTER
BANK1:ADCON1.PCFG2     2   A/D Port Configuration Control bit 2
BANK1:ADCON1.PCFG1     1   A/D Port Configuration Control bit 1
BANK1:ADCON1.PCFG0     0   A/D Port Configuration Control bit 0


.12CE674
; http://www.microchip.com/download/lit/pline/picmicro/families/12c67x/30561b.pdf
; PIC12C67x.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0020
area DATA Gen_Purp       0x0020:0x0080   General Purpose Register
area CODE MEM_Program    0x0080:0x0800   On-chip Program Memory


; BANK_1
; area DATA FSR_           0x0080:0x00A0
; area DATA Gen_Purp       0x00A0:0x00C0   General Purpose Register
; area BSS  RESERVED       0x00C0:0x00F0
; area DATA Gen_Purp_1     0x00F0:0x0100   General Purpose Register 1 (Mapped in Bank 0)
; area CODE MEM_Program    0x0100:0x0800   Mapped in Bank 0


; Interrupt and reset vector assignments
entry RESET      0x0000     RESET


; INPUT/OUTPUT PORTS
; BANK_0 (0x0000:0x0080)
BANK0:INDF            0x0000   INDF REGISTER
BANK0:TMR0            0x0001   Timer0 module's register
BANK0:PCL             0x0002   Program Counter's (PC) Least Significant Byte
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.IRP       7   Register Bank Select bit
BANK0:STATUS.RP1       6   Register Bank Select bit 1
BANK0:STATUS.RP0       5   Register Bank Select bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit Carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:GPIO            0x0005   GPIO REGISTER
BANK0:GPIO.SCL         7
BANK0:GPIO.SDA         6
BANK0:GPIO.GP5         5
BANK0:GPIO.GP4         4
BANK0:GPIO.GP3         3
BANK0:GPIO.GP2         2
BANK0:GPIO.GP1         1
BANK0:GPIO.GP0         0
BANK0:RESERVED0006    0x0006   RESERVED
BANK0:RESERVED0007    0x0007   RESERVED
BANK0:RESERVED0008    0x0008   RESERVED
BANK0:RESERVED0009    0x0009   RESERVED
BANK0:PCLATH          0x000A   PCLATH REGISTER
BANK0:PCLATH.PCLATH4   4
BANK0:PCLATH.PCLATH3   3
BANK0:PCLATH.PCLATH2   2
BANK0:PCLATH.PCLATH1   1
BANK0:PCLATH.PCLATH0   0
BANK0:INTCON          0x000B   INTCON REGISTER
BANK0:INTCON.GIE       7   Global Interrupt Enable bit
BANK0:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK0:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK0:INTCON.INTE      4   INT External Interrupt Enable bit
BANK0:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK0:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK0:INTCON.INTF      1   INT External Interrupt Flag bit
BANK0:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK0:PIR1            0x000C   PIR1 REGISTER
BANK0:PIR1.ADIF        6   A/D Converter Interrupt Flag bit
BANK0:RESERVED000D    0x000D   RESERVED
BANK0:RESERVED000E    0x000E   RESERVED
BANK0:RESERVED000F    0x000F   RESERVED
BANK0:RESERVED0010    0x0010   RESERVED
BANK0:RESERVED0011    0x0011   RESERVED
BANK0:RESERVED0012    0x0012   RESERVED
BANK0:RESERVED0013    0x0013   RESERVED
BANK0:RESERVED0014    0x0014   RESERVED
BANK0:RESERVED0015    0x0015   RESERVED
BANK0:RESERVED0016    0x0016   RESERVED
BANK0:RESERVED0017    0x0017   RESERVED
BANK0:RESERVED0018    0x0018   RESERVED
BANK0:RESERVED0019    0x0019   RESERVED
BANK0:RESERVED001A    0x001A   RESERVED
BANK0:RESERVED001B    0x001B   RESERVED
BANK0:RESERVED001C    0x001C   RESERVED
BANK0:RESERVED001D    0x001D   RESERVED
BANK0:ADRES           0x001E   A/D Result Register
BANK0:ADCON0          0x001F   ADCON0 REGISTER
BANK0:ADCON0.ADCS1     7   A/D Conversion Clock Select bit 1
BANK0:ADCON0.ADCS0     6   A/D Conversion Clock Select bit 0
BANK0:ADCON0.CHS1      4   Analog Channel Select bit 1
BANK0:ADCON0.CHS0      3   Analog Channel Select bit 0
BANK0:ADCON0.GO_DONE   2   A/D Conversion Status bit
BANK0:ADCON0.ADON      0   A/D on bit

; BANK_1 (0x0080:0x0100)
BANK1:INDF            0x0080   INDF REGISTER
BANK1:OPTION          0x0081   OPTION REGISTER
BANK1:OPTION.GPPU      7   Weak Pull-up Enable
BANK1:OPTION.INTEDG    6   Interrupt Edge
BANK1:OPTION.T0CS      5   TMR0 Clock Source Select bit
BANK1:OPTION.T0SE      4   TMR0 Source Edge Select bit
BANK1:OPTION.PSA       3   Prescaler Assignment bit
BANK1:OPTION.PS2       2   Prescaler Rate Select bit 2
BANK1:OPTION.PS1       1   Prescaler Rate Select bit 1
BANK1:OPTION.PS0       0   Prescaler Rate Select bit 0
BANK1:PCL             0x0082   Program Counter's (PC) Least Significant Byte
BANK1:STATUS          0x0083   STATUS REGISTER
BANK1:STATUS.IRP       7   Register Bank Select bit
BANK1:STATUS.RP1       6   Register Bank Select bit 1
BANK1:STATUS.RP0       5   Register Bank Select bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit Carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0084   Indirect data memory address pointer
BANK1:TRIS            0x0085   TRIS REGISTER
BANK1:TRIS.TRIS5       5
BANK1:TRIS.TRIS4       4
BANK1:TRIS.TRIS3       3
BANK1:TRIS.TRIS2       2
BANK1:TRIS.TRIS1       1
BANK1:TRIS.TRIS0       0
BANK1:RESERVED0086    0x0086   RESERVED
BANK1:RESERVED0087    0x0087   RESERVED
BANK1:RESERVED0088    0x0088   RESERVED
BANK1:RESERVED0089    0x0089   RESERVED
BANK1:PCLATH          0x008A   PCLATH REGISTER
BANK1:PCLATH.PCLATH4   4
BANK1:PCLATH.PCLATH3   3
BANK1:PCLATH.PCLATH2   2
BANK1:PCLATH.PCLATH1   1
BANK1:PCLATH.PCLATH0   0
BANK1:INTCON          0x008B   INTCON REGISTER
BANK1:INTCON.GIE       7   Global Interrupt Enable bit
BANK1:INTCON.PEIE      6   Peripheral Interrupt Enable bit
BANK1:INTCON.T0IE      5   TMR0 Overflow Interrupt Enable bit
BANK1:INTCON.INTE      4   INT External Interrupt Enable bit
BANK1:INTCON.GPIE      3   GPIO Interrupt on Change Enable bit
BANK1:INTCON.T0IF      2   TMR0 Overflow Interrupt Flag bit
BANK1:INTCON.INTF      1   INT External Interrupt Flag bit
BANK1:INTCON.GPIF      0   GPIO Interrupt on Change Flag bit
BANK1:PIE1            0x008C   PIE1 REGISTER
BANK1:PIE1.ADIE        6   A/D Converter Interrupt Enable bit
BANK1:RESERVED008D    0x008D   RESERVED
BANK1:PCON            0x008E   PCON REGISTER
BANK1:PCON.POR         1   Power-on Reset Status bit
BANK1:OSCCAL          0x008F   OSCCAL REGISTER
BANK1:OSCCAL.CAL3      7   Fine Calibration 3
BANK1:OSCCAL.CAL2      6   Fine Calibration 2
BANK1:OSCCAL.CAL1      5   Fine Calibration 1
BANK1:OSCCAL.CAL0      4   Fine Calibration 0
BANK1:OSCCAL.CALFST    3   Calibration Fast
BANK1:OSCCAL.CALSLW    2   Calibration Slow
BANK1:RESERVED0090    0x0090   RESERVED
BANK1:RESERVED0091    0x0091   RESERVED
BANK1:RESERVED0092    0x0092   RESERVED
BANK1:RESERVED0093    0x0093   RESERVED
BANK1:RESERVED0094    0x0094   RESERVED
BANK1:RESERVED0095    0x0095   RESERVED
BANK1:RESERVED0096    0x0096   RESERVED
BANK1:RESERVED0097    0x0097   RESERVED
BANK1:RESERVED0098    0x0098   RESERVED
BANK1:RESERVED0099    0x0099   RESERVED
BANK1:RESERVED009A    0x009A   RESERVED
BANK1:RESERVED009B    0x009B   RESERVED
BANK1:RESERVED009C    0x009C   RESERVED
BANK1:RESERVED009D    0x009D   RESERVED
BANK1:RESERVED009E    0x009E   RESERVED
BANK1:ADCON1          0x009F   ADCON1 REGISTER
BANK1:ADCON1.PCFG2     2   A/D Port Configuration Control bit 2
BANK1:ADCON1.PCFG1     1   A/D Port Configuration Control bit 1
BANK1:ADCON1.PCFG0     0   A/D Port Configuration Control bit 0


.16C54
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x01FF   On-chip Program Memory (Page 0)


; Interrupt and reset vector assignments
entry RESET      0x01FF     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   INDF (not a physical register)
TMR0            0x0001   Timer0 Module Register
PCL             0x0002   Low order 8 bits of PC
STATUS          0x0003   STATUS REGISTER
STATUS.PA1       6   Program page preselect bit 1
STATUS.PA0       5   Program page preselect bit 0
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit
STATUS.C         0   Carry/borrow bit
FSR             0x0004   Indirect data memory address pointer
PORTA           0x0005   PORTA REGISTER
PORTA.RA3        3   PORTA bit 3
PORTA.RA2        2   PORTA bit 2
PORTA.RA1        1   PORTA bit 1
PORTA.RA0        0   PORTA bit 0
PORTB           0x0006   PORTB REGISTER
PORTB.RB7        7   PORTB bit 7
PORTB.RB6        6   PORTB bit 6
PORTB.RB5        5   PORTB bit 5
PORTB.RB4        4   PORTB bit 4
PORTB.RB3        3   PORTB bit 3
PORTB.RB2        2   PORTB bit 2
PORTB.RB1        1   PORTB bit 1
PORTB.RB0        0   PORTB bit 0


.16C55
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0008
area DATA Gen_Purp       0x0008:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x01FF   On-chip Program Memory (Page 0)


; Interrupt and reset vector assignments
entry RESET      0x01FF     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   INDF (not a physical register)
TMR0            0x0001   Timer0 Module Register
PCL             0x0002   Low order 8 bits of PC
STATUS          0x0003   STATUS REGISTER
STATUS.PA1       6   Program page preselect bit 1
STATUS.PA0       5   Program page preselect bit 0
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit
STATUS.C         0   Carry/borrow bit
FSR             0x0004   Indirect data memory address pointer
PORTA           0x0005   PORTA REGISTER
PORTA.RA3        3   PORTA bit 3
PORTA.RA2        2   PORTA bit 2
PORTA.RA1        1   PORTA bit 1
PORTA.RA0        0   PORTA bit 0
PORTB           0x0006   PORTB REGISTER
PORTB.RB7        7   PORTB bit 7
PORTB.RB6        6   PORTB bit 6
PORTB.RB5        5   PORTB bit 5
PORTB.RB4        4   PORTB bit 4
PORTB.RB3        3   PORTB bit 3
PORTB.RB2        2   PORTB bit 2
PORTB.RB1        1   PORTB bit 1
PORTB.RB0        0   PORTB bit 0
PORTC           0x0007   PORTC REGISTER
PORTC.RC7        7   PORTC bit 7
PORTC.RC6        6   PORTC bit 6
PORTC.RC5        5   PORTC bit 5
PORTC.RC4        4   PORTC bit 4
PORTC.RC3        3   PORTC bit 3
PORTC.RC2        2   PORTC bit 2
PORTC.RC1        1   PORTC bit 1
PORTC.RC0        0   PORTC bit 0


.16C56
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x03FF   On-chip Program Memory (Page 1)


; Interrupt and reset vector assignments
entry RESET      0x03FF     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   INDF (not a physical register)
TMR0            0x0001   Timer0 Module Register
PCL             0x0002   Low order 8 bits of PC
STATUS          0x0003   STATUS REGISTER
STATUS.PA1       6   Program page preselect bit 1
STATUS.PA0       5   Program page preselect bit 0
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit
STATUS.C         0   Carry/borrow bit
FSR             0x0004   Indirect data memory address pointer
PORTA           0x0005   PORTA REGISTER
PORTA.RA3        3   PORTA bit 3
PORTA.RA2        2   PORTA bit 2
PORTA.RA1        1   PORTA bit 1
PORTA.RA0        0   PORTA bit 0
PORTB           0x0006   PORTB REGISTER
PORTB.RB7        7   PORTB bit 7
PORTB.RB6        6   PORTB bit 6
PORTB.RB5        5   PORTB bit 5
PORTB.RB4        4   PORTB bit 4
PORTB.RB3        3   PORTB bit 3
PORTB.RB2        2   PORTB bit 2
PORTB.RB1        1   PORTB bit 1
PORTB.RB0        0   PORTB bit 0


.16C57
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0008
area DATA Gen_Purp       0x0008:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_1
; area DATA FSR_           0x0020:0x0028
; area DATA Gen_Purp       0x0028:0x0040   General Purpose Register
; area CODE MEM_Program0   0x0040:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_2
; area DATA FSR_           0x0040:0x0048
; area DATA Gen_Purp       0x0048:0x0060   General Purpose Register
; area CODE MEM_Program0   0x0060:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_3
; area DATA FSR_           0x0060:0x0068
; area DATA Gen_Purp       0x0068:0x0080   General Purpose Register
; area CODE MEM_Program0   0x0080:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)


; Interrupt and reset vector assignments
entry RESET      0x07FF     RESET


; INPUT/OUTPUT PORTS
; BANK0 (0x0000:0x0020)
BANK0:INDF            0x0000   INDF (not a physical register)
BANK0:TMR0            0x0001   Timer0 Module Register
BANK0:PCL             0x0002   Low order 8 bits of PC
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.PA1       6   Program page preselect bit 1
BANK0:STATUS.PA0       5   Program page preselect bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:PORTA           0x0005   PORTA REGISTER
BANK0:PORTA.RA3        3   PORTA bit 3
BANK0:PORTA.RA2        2   PORTA bit 2
BANK0:PORTA.RA1        1   PORTA bit 1
BANK0:PORTA.RA0        0   PORTA bit 0
BANK0:PORTB           0x0006   PORTB REGISTER
BANK0:PORTB.RB7        7   PORTB bit 7
BANK0:PORTB.RB6        6   PORTB bit 6
BANK0:PORTB.RB5        5   PORTB bit 5
BANK0:PORTB.RB4        4   PORTB bit 4
BANK0:PORTB.RB3        3   PORTB bit 3
BANK0:PORTB.RB2        2   PORTB bit 2
BANK0:PORTB.RB1        1   PORTB bit 1
BANK0:PORTB.RB0        0   PORTB bit 0
BANK0:PORTC           0x0007   PORTC REGISTER
BANK0:PORTC.RC7        7   PORTC bit 7
BANK0:PORTC.RC6        6   PORTC bit 6
BANK0:PORTC.RC5        5   PORTC bit 5
BANK0:PORTC.RC4        4   PORTC bit 4
BANK0:PORTC.RC3        3   PORTC bit 3
BANK0:PORTC.RC2        2   PORTC bit 2
BANK0:PORTC.RC1        1   PORTC bit 1
BANK0:PORTC.RC0        0   PORTC bit 0

; BANK1 (0x0020:0x0040)
BANK1:INDF            0x0020   INDF (not a physical register)
BANK1:TMR0            0x0021   Timer0 Module Register
BANK1:PCL             0x0022   Low order 8 bits of PC
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.PA1       6   Program page preselect bit 1
BANK1:STATUS.PA0       5   Program page preselect bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:PORTA           0x0025   PORTA REGISTER
BANK1:PORTA.RA3        3   PORTA bit 3
BANK1:PORTA.RA2        2   PORTA bit 2
BANK1:PORTA.RA1        1   PORTA bit 1
BANK1:PORTA.RA0        0   PORTA bit 0
BANK1:PORTB           0x0026   PORTB REGISTER
BANK1:PORTB.RB7        7   PORTB bit 7
BANK1:PORTB.RB6        6   PORTB bit 6
BANK1:PORTB.RB5        5   PORTB bit 5
BANK1:PORTB.RB4        4   PORTB bit 4
BANK1:PORTB.RB3        3   PORTB bit 3
BANK1:PORTB.RB2        2   PORTB bit 2
BANK1:PORTB.RB1        1   PORTB bit 1
BANK1:PORTB.RB0        0   PORTB bit 0
BANK1:PORTC           0x0027   PORTC REGISTER
BANK1:PORTC.RC7        7   PORTC bit 7
BANK1:PORTC.RC6        6   PORTC bit 6
BANK1:PORTC.RC5        5   PORTC bit 5
BANK1:PORTC.RC4        4   PORTC bit 4
BANK1:PORTC.RC3        3   PORTC bit 3
BANK1:PORTC.RC2        2   PORTC bit 2
BANK1:PORTC.RC1        1   PORTC bit 1
BANK1:PORTC.RC0        0   PORTC bit 0

; BANK2 (0x0040:0x0060)
BANK2:INDF            0x0040   INDF (not a physical register)
BANK2:TMR0            0x0041   Timer0 Module Register
BANK2:PCL             0x0042   Low order 8 bits of PC
BANK2:STATUS          0x0043   STATUS REGISTER
BANK2:STATUS.PA1       6   Program page preselect bit 1
BANK2:STATUS.PA0       5   Program page preselect bit 0
BANK2:STATUS.TO        4   Time-out bit
BANK2:STATUS.PD        3   Power-down bit
BANK2:STATUS.Z         2   Zero bit
BANK2:STATUS.DC        1   Digit carry/borrow bit
BANK2:STATUS.C         0   Carry/borrow bit
BANK2:FSR             0x0044   Indirect data memory address pointer
BANK2:PORTA           0x0045   PORTA REGISTER
BANK2:PORTA.RA3        3   PORTA bit 3
BANK2:PORTA.RA2        2   PORTA bit 2
BANK2:PORTA.RA1        1   PORTA bit 1
BANK2:PORTA.RA0        0   PORTA bit 0
BANK2:PORTB           0x0046   PORTB REGISTER
BANK2:PORTB.RB7        7   PORTB bit 7
BANK2:PORTB.RB6        6   PORTB bit 6
BANK2:PORTB.RB5        5   PORTB bit 5
BANK2:PORTB.RB4        4   PORTB bit 4
BANK2:PORTB.RB3        3   PORTB bit 3
BANK2:PORTB.RB2        2   PORTB bit 2
BANK2:PORTB.RB1        1   PORTB bit 1
BANK2:PORTB.RB0        0   PORTB bit 0
BANK2:PORTC           0x0047   PORTC REGISTER
BANK2:PORTC.RC7        7   PORTC bit 7
BANK2:PORTC.RC6        6   PORTC bit 6
BANK2:PORTC.RC5        5   PORTC bit 5
BANK2:PORTC.RC4        4   PORTC bit 4
BANK2:PORTC.RC3        3   PORTC bit 3
BANK2:PORTC.RC2        2   PORTC bit 2
BANK2:PORTC.RC1        1   PORTC bit 1
BANK2:PORTC.RC0        0   PORTC bit 0

; BANK3 (0x0060:0x0080)
BANK3:INDF            0x0060   INDF (not a physical register)
BANK3:TMR0            0x0061   Timer0 Module Register
BANK3:PCL             0x0062   Low order 8 bits of PC
BANK3:STATUS          0x0063   STATUS REGISTER
BANK3:STATUS.PA1       6   Program page preselect bit 1
BANK3:STATUS.PA0       5   Program page preselect bit 0
BANK3:STATUS.TO        4   Time-out bit
BANK3:STATUS.PD        3   Power-down bit
BANK3:STATUS.Z         2   Zero bit
BANK3:STATUS.DC        1   Digit carry/borrow bit
BANK3:STATUS.C         0   Carry/borrow bit
BANK3:FSR             0x0064   Indirect data memory address pointer
BANK3:PORTA           0x0065   PORTA REGISTER
BANK3:PORTA.RA3        3   PORTA bit 3
BANK3:PORTA.RA2        2   PORTA bit 2
BANK3:PORTA.RA1        1   PORTA bit 1
BANK3:PORTA.RA0        0   PORTA bit 0
BANK3:PORTB           0x0066   PORTB REGISTER
BANK3:PORTB.RB7        7   PORTB bit 7
BANK3:PORTB.RB6        6   PORTB bit 6
BANK3:PORTB.RB5        5   PORTB bit 5
BANK3:PORTB.RB4        4   PORTB bit 4
BANK3:PORTB.RB3        3   PORTB bit 3
BANK3:PORTB.RB2        2   PORTB bit 2
BANK3:PORTB.RB1        1   PORTB bit 1
BANK3:PORTB.RB0        0   PORTB bit 0
BANK3:PORTC           0x0067   PORTC REGISTER
BANK3:PORTC.RC7        7   PORTC bit 7
BANK3:PORTC.RC6        6   PORTC bit 6
BANK3:PORTC.RC5        5   PORTC bit 5
BANK3:PORTC.RC4        4   PORTC bit 4
BANK3:PORTC.RC3        3   PORTC bit 3
BANK3:PORTC.RC2        2   PORTC bit 2
BANK3:PORTC.RC1        1   PORTC bit 1
BANK3:PORTC.RC0        0   PORTC bit 0


.16C58
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_1
; area DATA FSR_           0x0020:0x0027
; area DATA Gen_Purp       0x0027:0x0040   General Purpose Register
; area CODE MEM_Program0   0x0040:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_2
; area DATA FSR_           0x0040:0x0047
; area DATA Gen_Purp       0x0047:0x0060   General Purpose Register
; area CODE MEM_Program0   0x0060:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_3
; area DATA FSR_           0x0060:0x0067
; area DATA Gen_Purp       0x0067:0x0080   General Purpose Register
; area CODE MEM_Program0   0x0080:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)


; Interrupt and reset vector assignments
entry RESET      0x07FF     RESET


; INPUT/OUTPUT PORTS
; BANK0 (0x0000:0x0020)
BANK0:INDF            0x0000   INDF (not a physical register)
BANK0:TMR0            0x0001   Timer0 Module Register
BANK0:PCL             0x0002   Low order 8 bits of PC
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.PA1       6   Program page preselect bit 1
BANK0:STATUS.PA0       5   Program page preselect bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:PORTA           0x0005   PORTA REGISTER
BANK0:PORTA.RA3        3   PORTA bit 3
BANK0:PORTA.RA2        2   PORTA bit 2
BANK0:PORTA.RA1        1   PORTA bit 1
BANK0:PORTA.RA0        0   PORTA bit 0
BANK0:PORTB           0x0006   PORTB REGISTER
BANK0:PORTB.RB7        7   PORTB bit 7
BANK0:PORTB.RB6        6   PORTB bit 6
BANK0:PORTB.RB5        5   PORTB bit 5
BANK0:PORTB.RB4        4   PORTB bit 4
BANK0:PORTB.RB3        3   PORTB bit 3
BANK0:PORTB.RB2        2   PORTB bit 2
BANK0:PORTB.RB1        1   PORTB bit 1
BANK0:PORTB.RB0        0   PORTB bit 0

; BANK1 (0x0020:0x0040)
BANK1:INDF            0x0020   INDF (not a physical register)
BANK1:TMR0            0x0021   Timer0 Module Register
BANK1:PCL             0x0022   Low order 8 bits of PC
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.PA1       6   Program page preselect bit 1
BANK1:STATUS.PA0       5   Program page preselect bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:PORTA           0x0025   PORTA REGISTER
BANK1:PORTA.RA3        3   PORTA bit 3
BANK1:PORTA.RA2        2   PORTA bit 2
BANK1:PORTA.RA1        1   PORTA bit 1
BANK1:PORTA.RA0        0   PORTA bit 0
BANK1:PORTB           0x0026   PORTB REGISTER
BANK1:PORTB.RB7        7   PORTB bit 7
BANK1:PORTB.RB6        6   PORTB bit 6
BANK1:PORTB.RB5        5   PORTB bit 5
BANK1:PORTB.RB4        4   PORTB bit 4
BANK1:PORTB.RB3        3   PORTB bit 3
BANK1:PORTB.RB2        2   PORTB bit 2
BANK1:PORTB.RB1        1   PORTB bit 1
BANK1:PORTB.RB0        0   PORTB bit 0

; BANK2 (0x0040:0x0060)
BANK2:INDF            0x0040   INDF (not a physical register)
BANK2:TMR0            0x0041   Timer0 Module Register
BANK2:PCL             0x0042   Low order 8 bits of PC
BANK2:STATUS          0x0043   STATUS REGISTER
BANK2:STATUS.PA1       6   Program page preselect bit 1
BANK2:STATUS.PA0       5   Program page preselect bit 0
BANK2:STATUS.TO        4   Time-out bit
BANK2:STATUS.PD        3   Power-down bit
BANK2:STATUS.Z         2   Zero bit
BANK2:STATUS.DC        1   Digit carry/borrow bit
BANK2:STATUS.C         0   Carry/borrow bit
BANK2:FSR             0x0044   Indirect data memory address pointer
BANK2:PORTA           0x0045   PORTA REGISTER
BANK2:PORTA.RA3        3   PORTA bit 3
BANK2:PORTA.RA2        2   PORTA bit 2
BANK2:PORTA.RA1        1   PORTA bit 1
BANK2:PORTA.RA0        0   PORTA bit 0
BANK2:PORTB           0x0046   PORTB REGISTER
BANK2:PORTB.RB7        7   PORTB bit 7
BANK2:PORTB.RB6        6   PORTB bit 6
BANK2:PORTB.RB5        5   PORTB bit 5
BANK2:PORTB.RB4        4   PORTB bit 4
BANK2:PORTB.RB3        3   PORTB bit 3
BANK2:PORTB.RB2        2   PORTB bit 2
BANK2:PORTB.RB1        1   PORTB bit 1
BANK2:PORTB.RB0        0   PORTB bit 0

; BANK3 (0x0060:0x0080)
BANK3:INDF            0x0060   INDF (not a physical register)
BANK3:TMR0            0x0061   Timer0 Module Register
BANK3:PCL             0x0062   Low order 8 bits of PC
BANK3:STATUS          0x0063   STATUS REGISTER
BANK3:STATUS.PA1       6   Program page preselect bit 1
BANK3:STATUS.PA0       5   Program page preselect bit 0
BANK3:STATUS.TO        4   Time-out bit
BANK3:STATUS.PD        3   Power-down bit
BANK3:STATUS.Z         2   Zero bit
BANK3:STATUS.DC        1   Digit carry/borrow bit
BANK3:STATUS.C         0   Carry/borrow bit
BANK3:FSR             0x0064   Indirect data memory address pointer
BANK3:PORTA           0x0065   PORTA REGISTER
BANK3:PORTA.RA3        3   PORTA bit 3
BANK3:PORTA.RA2        2   PORTA bit 2
BANK3:PORTA.RA1        1   PORTA bit 1
BANK3:PORTA.RA0        0   PORTA bit 0
BANK3:PORTB           0x0066   PORTB REGISTER
BANK3:PORTB.RB7        7   PORTB bit 7
BANK3:PORTB.RB6        6   PORTB bit 6
BANK3:PORTB.RB5        5   PORTB bit 5
BANK3:PORTB.RB4        4   PORTB bit 4
BANK3:PORTB.RB3        3   PORTB bit 3
BANK3:PORTB.RB2        2   PORTB bit 2
BANK3:PORTB.RB1        1   PORTB bit 1
BANK3:PORTB.RB0        0   PORTB bit 0


.16CR54
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x01FF   On-chip Program Memory (Page 0)


; Interrupt and reset vector assignments
entry RESET      0x01FF     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   INDF (not a physical register)
TMR0            0x0001   Timer0 Module Register
PCL             0x0002   Low order 8 bits of PC
STATUS          0x0003   STATUS REGISTER
STATUS.PA1       6   Program page preselect bit 1
STATUS.PA0       5   Program page preselect bit 0
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit
STATUS.C         0   Carry/borrow bit
FSR             0x0004   Indirect data memory address pointer
PORTA           0x0005   PORTA REGISTER
PORTA.RA3        3   PORTA bit 3
PORTA.RA2        2   PORTA bit 2
PORTA.RA1        1   PORTA bit 1
PORTA.RA0        0   PORTA bit 0
PORTB           0x0006   PORTB REGISTER
PORTB.RB7        7   PORTB bit 7
PORTB.RB6        6   PORTB bit 6
PORTB.RB5        5   PORTB bit 5
PORTB.RB4        4   PORTB bit 4
PORTB.RB3        3   PORTB bit 3
PORTB.RB2        2   PORTB bit 2
PORTB.RB1        1   PORTB bit 1
PORTB.RB0        0   PORTB bit 0


.16CR56
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x03FF   On-chip Program Memory (Page 1)


; Interrupt and reset vector assignments
entry RESET      0x03FF     RESET


; INPUT/OUTPUT PORTS
INDF            0x0000   INDF (not a physical register)
TMR0            0x0001   Timer0 Module Register
PCL             0x0002   Low order 8 bits of PC
STATUS          0x0003   STATUS REGISTER
STATUS.PA1       6   Program page preselect bit 1
STATUS.PA0       5   Program page preselect bit 0
STATUS.TO        4   Time-out bit
STATUS.PD        3   Power-down bit
STATUS.Z         2   Zero bit
STATUS.DC        1   Digit carry/borrow bit
STATUS.C         0   Carry/borrow bit
FSR             0x0004   Indirect data memory address pointer
PORTA           0x0005   PORTA REGISTER
PORTA.RA3        3   PORTA bit 3
PORTA.RA2        2   PORTA bit 2
PORTA.RA1        1   PORTA bit 1
PORTA.RA0        0   PORTA bit 0
PORTB           0x0006   PORTB REGISTER
PORTB.RB7        7   PORTB bit 7
PORTB.RB6        6   PORTB bit 6
PORTB.RB5        5   PORTB bit 5
PORTB.RB4        4   PORTB bit 4
PORTB.RB3        3   PORTB bit 3
PORTB.RB2        2   PORTB bit 2
PORTB.RB1        1   PORTB bit 1
PORTB.RB0        0   PORTB bit 0


.16CR57
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0008
area DATA Gen_Purp       0x0008:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_1
; area DATA FSR_           0x0020:0x0028
; area DATA Gen_Purp       0x0028:0x0040   General Purpose Register
; area CODE MEM_Program0   0x0040:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_2
; area DATA FSR_           0x0040:0x0048
; area DATA Gen_Purp       0x0048:0x0060   General Purpose Register
; area CODE MEM_Program0   0x0060:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_3
; area DATA FSR_           0x0060:0x0068
; area DATA Gen_Purp       0x0068:0x0080   General Purpose Register
; area CODE MEM_Program0   0x0080:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)


; Interrupt and reset vector assignments
entry RESET      0x07FF     RESET


; INPUT/OUTPUT PORTS
; BANK0 (0x0000:0x0020)
BANK0:INDF            0x0000   INDF (not a physical register)
BANK0:TMR0            0x0001   Timer0 Module Register
BANK0:PCL             0x0002   Low order 8 bits of PC
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.PA1       6   Program page preselect bit 1
BANK0:STATUS.PA0       5   Program page preselect bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:PORTA           0x0005   PORTA REGISTER
BANK0:PORTA.RA3        3   PORTA bit 3
BANK0:PORTA.RA2        2   PORTA bit 2
BANK0:PORTA.RA1        1   PORTA bit 1
BANK0:PORTA.RA0        0   PORTA bit 0
BANK0:PORTB           0x0006   PORTB REGISTER
BANK0:PORTB.RB7        7   PORTB bit 7
BANK0:PORTB.RB6        6   PORTB bit 6
BANK0:PORTB.RB5        5   PORTB bit 5
BANK0:PORTB.RB4        4   PORTB bit 4
BANK0:PORTB.RB3        3   PORTB bit 3
BANK0:PORTB.RB2        2   PORTB bit 2
BANK0:PORTB.RB1        1   PORTB bit 1
BANK0:PORTB.RB0        0   PORTB bit 0
BANK0:PORTC           0x0007   PORTC REGISTER
BANK0:PORTC.RC7        7   PORTC bit 7
BANK0:PORTC.RC6        6   PORTC bit 6
BANK0:PORTC.RC5        5   PORTC bit 5
BANK0:PORTC.RC4        4   PORTC bit 4
BANK0:PORTC.RC3        3   PORTC bit 3
BANK0:PORTC.RC2        2   PORTC bit 2
BANK0:PORTC.RC1        1   PORTC bit 1
BANK0:PORTC.RC0        0   PORTC bit 0

; BANK1 (0x0020:0x0040)
BANK1:INDF            0x0020   INDF (not a physical register)
BANK1:TMR0            0x0021   Timer0 Module Register
BANK1:PCL             0x0022   Low order 8 bits of PC
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.PA1       6   Program page preselect bit 1
BANK1:STATUS.PA0       5   Program page preselect bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:PORTA           0x0025   PORTA REGISTER
BANK1:PORTA.RA3        3   PORTA bit 3
BANK1:PORTA.RA2        2   PORTA bit 2
BANK1:PORTA.RA1        1   PORTA bit 1
BANK1:PORTA.RA0        0   PORTA bit 0
BANK1:PORTB           0x0026   PORTB REGISTER
BANK1:PORTB.RB7        7   PORTB bit 7
BANK1:PORTB.RB6        6   PORTB bit 6
BANK1:PORTB.RB5        5   PORTB bit 5
BANK1:PORTB.RB4        4   PORTB bit 4
BANK1:PORTB.RB3        3   PORTB bit 3
BANK1:PORTB.RB2        2   PORTB bit 2
BANK1:PORTB.RB1        1   PORTB bit 1
BANK1:PORTB.RB0        0   PORTB bit 0
BANK1:PORTC           0x0027   PORTC REGISTER
BANK1:PORTC.RC7        7   PORTC bit 7
BANK1:PORTC.RC6        6   PORTC bit 6
BANK1:PORTC.RC5        5   PORTC bit 5
BANK1:PORTC.RC4        4   PORTC bit 4
BANK1:PORTC.RC3        3   PORTC bit 3
BANK1:PORTC.RC2        2   PORTC bit 2
BANK1:PORTC.RC1        1   PORTC bit 1
BANK1:PORTC.RC0        0   PORTC bit 0

; BANK2 (0x0040:0x0060)
BANK2:INDF            0x0040   INDF (not a physical register)
BANK2:TMR0            0x0041   Timer0 Module Register
BANK2:PCL             0x0042   Low order 8 bits of PC
BANK2:STATUS          0x0043   STATUS REGISTER
BANK2:STATUS.PA1       6   Program page preselect bit 1
BANK2:STATUS.PA0       5   Program page preselect bit 0
BANK2:STATUS.TO        4   Time-out bit
BANK2:STATUS.PD        3   Power-down bit
BANK2:STATUS.Z         2   Zero bit
BANK2:STATUS.DC        1   Digit carry/borrow bit
BANK2:STATUS.C         0   Carry/borrow bit
BANK2:FSR             0x0044   Indirect data memory address pointer
BANK2:PORTA           0x0045   PORTA REGISTER
BANK2:PORTA.RA3        3   PORTA bit 3
BANK2:PORTA.RA2        2   PORTA bit 2
BANK2:PORTA.RA1        1   PORTA bit 1
BANK2:PORTA.RA0        0   PORTA bit 0
BANK2:PORTB           0x0046   PORTB REGISTER
BANK2:PORTB.RB7        7   PORTB bit 7
BANK2:PORTB.RB6        6   PORTB bit 6
BANK2:PORTB.RB5        5   PORTB bit 5
BANK2:PORTB.RB4        4   PORTB bit 4
BANK2:PORTB.RB3        3   PORTB bit 3
BANK2:PORTB.RB2        2   PORTB bit 2
BANK2:PORTB.RB1        1   PORTB bit 1
BANK2:PORTB.RB0        0   PORTB bit 0
BANK2:PORTC           0x0047   PORTC REGISTER
BANK2:PORTC.RC7        7   PORTC bit 7
BANK2:PORTC.RC6        6   PORTC bit 6
BANK2:PORTC.RC5        5   PORTC bit 5
BANK2:PORTC.RC4        4   PORTC bit 4
BANK2:PORTC.RC3        3   PORTC bit 3
BANK2:PORTC.RC2        2   PORTC bit 2
BANK2:PORTC.RC1        1   PORTC bit 1
BANK2:PORTC.RC0        0   PORTC bit 0

; BANK3 (0x0060:0x0080)
BANK3:INDF            0x0060   INDF (not a physical register)
BANK3:TMR0            0x0061   Timer0 Module Register
BANK3:PCL             0x0062   Low order 8 bits of PC
BANK3:STATUS          0x0063   STATUS REGISTER
BANK3:STATUS.PA1       6   Program page preselect bit 1
BANK3:STATUS.PA0       5   Program page preselect bit 0
BANK3:STATUS.TO        4   Time-out bit
BANK3:STATUS.PD        3   Power-down bit
BANK3:STATUS.Z         2   Zero bit
BANK3:STATUS.DC        1   Digit carry/borrow bit
BANK3:STATUS.C         0   Carry/borrow bit
BANK3:FSR             0x0064   Indirect data memory address pointer
BANK3:PORTA           0x0065   PORTA REGISTER
BANK3:PORTA.RA3        3   PORTA bit 3
BANK3:PORTA.RA2        2   PORTA bit 2
BANK3:PORTA.RA1        1   PORTA bit 1
BANK3:PORTA.RA0        0   PORTA bit 0
BANK3:PORTB           0x0066   PORTB REGISTER
BANK3:PORTB.RB7        7   PORTB bit 7
BANK3:PORTB.RB6        6   PORTB bit 6
BANK3:PORTB.RB5        5   PORTB bit 5
BANK3:PORTB.RB4        4   PORTB bit 4
BANK3:PORTB.RB3        3   PORTB bit 3
BANK3:PORTB.RB2        2   PORTB bit 2
BANK3:PORTB.RB1        1   PORTB bit 1
BANK3:PORTB.RB0        0   PORTB bit 0
BANK3:PORTC           0x0067   PORTC REGISTER
BANK3:PORTC.RC7        7   PORTC bit 7
BANK3:PORTC.RC6        6   PORTC bit 6
BANK3:PORTC.RC5        5   PORTC bit 5
BANK3:PORTC.RC4        4   PORTC bit 4
BANK3:PORTC.RC3        3   PORTC bit 3
BANK3:PORTC.RC2        2   PORTC bit 2
BANK3:PORTC.RC1        1   PORTC bit 1
BANK3:PORTC.RC0        0   PORTC bit 0


.16CR58
; http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/30453d.pdf
; PIC16C5X.pdf


; MEMORY MAP
; BANK_0
area DATA FSR_           0x0000:0x0007
area DATA Gen_Purp       0x0007:0x0020   General Purpose Register
area CODE MEM_Program0   0x0020:0x0200   On-chip Program Memory (Page 0)
area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_1
; area DATA FSR_           0x0020:0x0027
; area DATA Gen_Purp       0x0027:0x0040   General Purpose Register
; area CODE MEM_Program0   0x0040:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_2
; area DATA FSR_           0x0040:0x0047
; area DATA Gen_Purp       0x0047:0x0060   General Purpose Register
; area CODE MEM_Program0   0x0060:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)

; BANK_3
; area DATA FSR_           0x0060:0x0067
; area DATA Gen_Purp       0x0067:0x0080   General Purpose Register
; area CODE MEM_Program0   0x0080:0x0200   On-chip Program Memory (Page 0)
; area CODE MEM_Program1   0x0200:0x0400   On-chip Program Memory (Page 1)
; area CODE MEM_Program2   0x0400:0x0600   On-chip Program Memory (Page 2)
; area CODE MEM_Program3   0x0600:0x07FF   On-chip Program Memory (Page 3)


; Interrupt and reset vector assignments
entry RESET      0x07FF     RESET


; INPUT/OUTPUT PORTS
; BANK0 (0x0000:0x0020)
BANK0:INDF            0x0000   INDF (not a physical register)
BANK0:TMR0            0x0001   Timer0 Module Register
BANK0:PCL             0x0002   Low order 8 bits of PC
BANK0:STATUS          0x0003   STATUS REGISTER
BANK0:STATUS.PA1       6   Program page preselect bit 1
BANK0:STATUS.PA0       5   Program page preselect bit 0
BANK0:STATUS.TO        4   Time-out bit
BANK0:STATUS.PD        3   Power-down bit
BANK0:STATUS.Z         2   Zero bit
BANK0:STATUS.DC        1   Digit carry/borrow bit
BANK0:STATUS.C         0   Carry/borrow bit
BANK0:FSR             0x0004   Indirect data memory address pointer
BANK0:PORTA           0x0005   PORTA REGISTER
BANK0:PORTA.RA3        3   PORTA bit 3
BANK0:PORTA.RA2        2   PORTA bit 2
BANK0:PORTA.RA1        1   PORTA bit 1
BANK0:PORTA.RA0        0   PORTA bit 0
BANK0:PORTB           0x0006   PORTB REGISTER
BANK0:PORTB.RB7        7   PORTB bit 7
BANK0:PORTB.RB6        6   PORTB bit 6
BANK0:PORTB.RB5        5   PORTB bit 5
BANK0:PORTB.RB4        4   PORTB bit 4
BANK0:PORTB.RB3        3   PORTB bit 3
BANK0:PORTB.RB2        2   PORTB bit 2
BANK0:PORTB.RB1        1   PORTB bit 1
BANK0:PORTB.RB0        0   PORTB bit 0

; BANK1  (0x0020:0x0040)
BANK1:INDF            0x0020   INDF (not a physical register)
BANK1:TMR0            0x0021   Timer0 Module Register
BANK1:PCL             0x0022   Low order 8 bits of PC
BANK1:STATUS          0x0023   STATUS REGISTER
BANK1:STATUS.PA1       6   Program page preselect bit 1
BANK1:STATUS.PA0       5   Program page preselect bit 0
BANK1:STATUS.TO        4   Time-out bit
BANK1:STATUS.PD        3   Power-down bit
BANK1:STATUS.Z         2   Zero bit
BANK1:STATUS.DC        1   Digit carry/borrow bit
BANK1:STATUS.C         0   Carry/borrow bit
BANK1:FSR             0x0024   Indirect data memory address pointer
BANK1:PORTA           0x0025   PORTA REGISTER
BANK1:PORTA.RA3        3   PORTA bit 3
BANK1:PORTA.RA2        2   PORTA bit 2
BANK1:PORTA.RA1        1   PORTA bit 1
BANK1:PORTA.RA0        0   PORTA bit 0
BANK1:PORTB           0x0026   PORTB REGISTER
BANK1:PORTB.RB7        7   PORTB bit 7
BANK1:PORTB.RB6        6   PORTB bit 6
BANK1:PORTB.RB5        5   PORTB bit 5
BANK1:PORTB.RB4        4   PORTB bit 4
BANK1:PORTB.RB3        3   PORTB bit 3
BANK1:PORTB.RB2        2   PORTB bit 2
BANK1:PORTB.RB1        1   PORTB bit 1
BANK1:PORTB.RB0        0   PORTB bit 0

; BANK2 (0x0040:0x0060)
BANK2:INDF            0x0040   INDF (not a physical register)
BANK2:TMR0            0x0041   Timer0 Module Register
BANK2:PCL             0x0042   Low order 8 bits of PC
BANK2:STATUS          0x0043   STATUS REGISTER
BANK2:STATUS.PA1       6   Program page preselect bit 1
BANK2:STATUS.PA0       5   Program page preselect bit 0
BANK2:STATUS.TO        4   Time-out bit
BANK2:STATUS.PD        3   Power-down bit
BANK2:STATUS.Z         2   Zero bit
BANK2:STATUS.DC        1   Digit carry/borrow bit
BANK2:STATUS.C         0   Carry/borrow bit
BANK2:FSR             0x0044   Indirect data memory address pointer
BANK2:PORTA           0x0045   PORTA REGISTER
BANK2:PORTA.RA3        3   PORTA bit 3
BANK2:PORTA.RA2        2   PORTA bit 2
BANK2:PORTA.RA1        1   PORTA bit 1
BANK2:PORTA.RA0        0   PORTA bit 0
BANK2:PORTB           0x0046   PORTB REGISTER
BANK2:PORTB.RB7        7   PORTB bit 7
BANK2:PORTB.RB6        6   PORTB bit 6
BANK2:PORTB.RB5        5   PORTB bit 5
BANK2:PORTB.RB4        4   PORTB bit 4
BANK2:PORTB.RB3        3   PORTB bit 3
BANK2:PORTB.RB2        2   PORTB bit 2
BANK2:PORTB.RB1        1   PORTB bit 1
BANK2:PORTB.RB0        0   PORTB bit 0

; BANK3 (0x0060:0x0080)
BANK3:INDF            0x0060   INDF (not a physical register)
BANK3:TMR0            0x0061   Timer0 Module Register
BANK3:PCL             0x0062   Low order 8 bits of PC
BANK3:STATUS          0x0063   STATUS REGISTER
BANK3:STATUS.PA1       6   Program page preselect bit 1
BANK3:STATUS.PA0       5   Program page preselect bit 0
BANK3:STATUS.TO        4   Time-out bit
BANK3:STATUS.PD        3   Power-down bit
BANK3:STATUS.Z         2   Zero bit
BANK3:STATUS.DC        1   Digit carry/borrow bit
BANK3:STATUS.C         0   Carry/borrow bit
BANK3:FSR             0x0064   Indirect data memory address pointer
BANK3:PORTA           0x0065   PORTA REGISTER
BANK3:PORTA.RA3        3   PORTA bit 3
BANK3:PORTA.RA2        2   PORTA bit 2
BANK3:PORTA.RA1        1   PORTA bit 1
BANK3:PORTA.RA0        0   PORTA bit 0
BANK3:PORTB           0x0066   PORTB REGISTER
BANK3:PORTB.RB7        7   PORTB bit 7
BANK3:PORTB.RB6        6   PORTB bit 6
BANK3:PORTB.RB5        5   PORTB bit 5
BANK3:PORTB.RB4        4   PORTB bit 4
BANK3:PORTB.RB3        3   PORTB bit 3
BANK3:PORTB.RB2        2   PORTB bit 2
BANK3:PORTB.RB1        1   PORTB bit 1
BANK3:PORTB.RB0        0   PORTB bit 0