[General]
ChipName=SN8P2711
Description=8 Bit MCU - SN8P2711

[Register]
;Item# = Index, Name, Address, Size, FormatMask, DefaultValue, ReadMask, WriteMask, CanDisplay
;if Address == NULL, means general register, none-addressable
;Address, FormatMask, DefaultValue, also can be presented by hexadecimal style, ie. 0xffff
Count=42
Item0=0, A, NULL, 8, 0xff, 0, 0xff, 0xff, 1
Item1=1, R, 0x82, 8, 0xff, 0, 0xff, 0xff, 1
Item2=2, Z, 0x83, 8, 0xff, 0, 0xff, 0xff, 1
Item3=3, Y, 0x84, 8, 0xff, 0, 0xff, 0xff, 1
Item4=4, PFLAG, 0x86, 8, 0xf7, 0, 0xff, 0xf0, 1
Item5=5, P4CON, 0xae, 5, 0x1f, 0, 0xff, 0xff, 1
Item6=6, ADM, 0xb1, 8, 0xf7, 0, 0xff, 0xff, 1
Item7=7, ADB, 0xb2, 8, 0xff, 0, 0xff, 0, 1
Item8=8, ADR, 0xb3, 7, 0x5f, 0, 0xff, 0xf0, 1
Item9=9, P0M, 0xb8, 4, 0x0f, 0, 0xff, 0xff, 1
Item10=10, PEDGE, 0xbf, 5, 0x18, 0x10, 0xff, 0xff, 1
Item11=11, P4M, 0xc4, 5, 0x1f, 0, 0xff, 0xff, 1
Item12=12, P5M, 0xc5, 5, 0x18, 0, 0xff, 0xff, 1
Item13=13, INTRQ, 0xc8, 8, 0xe3, 0, 0xff, 0xff, 1
Item14=14, INTEN, 0xc9, 8, 0xe3, 0, 0xff, 0xff, 1
Item15=15, OSCM, 0xca, 5, 0x1e, 0, 0xff, 0xff, 1
Item16=16, WDTR, 0xcc, 8, 0xff, 0, 0, 0xff, 1
Item17=17, TC0R, 0xcd, 8, 0xff, 0, 0, 0xff, 1
Item18=18, PCL, 0xce, 8, 0xff, 0, 0xff, 0xff, 1
Item19=19, PCH, 0xcf, 2, 0x03, 0, 0xff, 0xff, 1
Item20=20, P0, 0xd0, 5, 0x1f, 0, 0xff, 0x0f, 1
Item21=21, P4, 0xd4, 5, 0x1f, 0, 0xff, 0xff, 1
Item22=22, P5, 0xd5, 5, 0x18, 0, 0xff, 0xff, 1
Item23=23, T0M, 0xd8, 4, 0x0e, 0, 0xff, 0xff, 1
Item24=24, TC0M, 0xda, 8, 0xff, 0, 0xff, 0xff, 1
Item25=25, TC0C, 0xdb, 8, 0xff, 0, 0xff, 0xff, 1
Item26=26, TC1M, 0xdc, 8, 0xff, 0, 0xff, 0xff, 1
Item27=27, TC1C, 0xdd, 8, 0xff, 0, 0xff, 0xff, 1
Item28=28, TC1R, 0xde, 8, 0xff, 0, 0, 0xff, 1
Item29=29, STKP, 0xdf, 8, 0x87, 0x07, 0xff, 0xff, 1
Item30=30, P0UR, 0xe0, 5, 0x0f, 0x10, 0, 0x0f, 1
Item31=31, P4UR, 0xe4, 5, 0x1f, 0, 0, 0xff, 1
Item32=32, P5UR, 0xe5, 5, 0x18, 0, 0, 0xff, 1
Item33=33, @YZ, 0xe7, 8, 0xff, 0, 0xff, 0xff, 1
Item34=34, STK3L, 0xf8, 8, 0xff, 0, 0xff, 0xff, 1
Item35=35, STK3H, 0xf9, 2, 0x03, 0, 0x03, 0x03, 1
Item36=36, STK2L, 0xfa, 8, 0xff, 0, 0xff, 0xff, 1
Item37=37, STK2H, 0xfb, 2, 0x03, 0, 0x03, 0x03, 1
Item38=38, STK1L, 0xfc, 8, 0xff, 0, 0xff, 0xff, 1
Item39=39, STK1H, 0xfd, 2, 0x03, 0, 0x03, 0x03, 1
Item40=40, STK0L, 0xfe, 8, 0xff, 0, 0xff, 0xff, 1
Item41=41, STK0H, 0xff, 2, 0x03, 0, 0x03, 0x03, 1
    
[RegisterBit]
;RegName = LowIndex[:HighIndex], Name [,LowIndex[:HighIndex], Name]
R=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
Z=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
Y=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
PFLAG=0, Z, 1, DC, 2, C, 4, LVD24, 5, LVD36, 6, NPD, 7, NT0
P4CON=0, P4CON0, 1, P4CON1, 2, P4CON2, 3, P4CON3, 4, P4CON4
ADM=0, CHS0, 1, CHS1, 2, CHS2, 4, GCHS, 5, EOC, 6, ADS, 7, ADENB
ADB=0, ADB4, 1, ADB5, 2, ADB6, 3, ADB7, 4, ADB8, 5, ADB9, 6, ADB10, 7, ADB11
ADR=0, ADB0, 1, ADB1, 2, ADB2, 3, ADB3, 4, ADCKS0, 6, ADCKS1
P0M=0, P00M, 1, P01M, 2, P02M, 3, P03M
PEDGE=3, P00G0, 4, P00G1
P4M=0, P40M, 1, P41M, 2, P42M, 3, P43M, 4, P44M
P5M=3, P53M, 4, P54M
INTRQ=0, P00IRQ, 1, P01IRQ, 5, TC0IRQ, 6, TC1IRQ, 7, ADCIRQ
INTEN=0, P00IEN, 1, P01IEN, 5, TC0IEN, 6, TC1IEN, 7, ADCIEN
OSCM=1, STPHX, 2, CLKMD, 3, CPUM0, 4, CPUM1
WDTR=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
TC0R=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
PCL=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
PCH=0, 8, 1, 9
P0=0, P00, 1, P01, 2, P02, 3, P03, 4, P04
P4=0, P40, 1, P41, 2, P42, 3, P43, 4, P44
P5=3, P53, 4, P54
T0M=1, TC0GN, 2, TC0X8, 3, TC1X8
TC0M=0, PWM0OUT, 1, TC0OUT, 2, ALOAD0, 3, TC0CKS, 4, TC0rate0, 5, TC0rate1, 6, TC0rate2, 7, TC0ENB
TC0C=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
TC1M=0, PWM1OUT, 1, TC1OUT, 2, ALOAD1, 3, TC1CKS, 4, TC1rate0, 5, TC1rate1, 6, TC1rate2, 7, TC1ENB
TC1C=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
TC1R=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STKP=0, STKPB0, 1, STKPB1, 7, GIE
P0UR=0, P00R, 1, P01R, 2, P02R, 3, P03R, 4, P04R
P4UR=0, P40R, 1, P41R, 2, P42R, 3, P43R, 4, P44R
P5UR=3, P53R, 4, P54R
@YZ=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STK3L=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STK3H=0, 8, 1, 9
STK2L=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STK2H=0, 8, 1, 9
STK1L=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STK1H=0, 8, 1, 9
STK0L=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
STK0H=0, 8, 1, 9

[Rom]
;Measurement = size
Measurement=16
;EntireSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
EntireSize=1K

ForbiddenCount=0
;Forbidden = start address, end address
Forbidden0=0, 0

;Banked = 0/1 means false/true
Banked=1
BankStartAddr=0
;BankSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
BankSize=16K

[Ram]
;Measurement = size
Measurement=8
;EntireSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
EntireSize=256

ForbiddenCount=1
;Forbidden# = start address, end address
Forbidden0=0x40, 0x7f

;Banked = 0/1 means false/true
Banked=1
BankStartAddr=0
;BankSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
BankSize=256

[PC]
;Name=PC
;if Address == NULL, means none-addressable
Address=0xce
Size=10

[Stack]
;Name=STKP
;if Address == NULL, means none-addressable
Address=0xdf
;if size == 0, means no limitation
Size=4
IsIncrease=1

[I/O Port]
;Item# = Name, Size, Bit Mask, Input Bit Mask, Output Bit Mask
Count=3
Item0=P0, 5, 0x1f, 0x1f, 0x0f
Item1=P4, 5, 0x1f, 0x1f, 0x1f
Item2=P5, 5, 0x18, 0x18, 0x18

[Timer]
Count=3
Item0=WDT
Item1=TC0
Item2=TC1

[Interrupt]
;Item# = Source Name, Priority, ISR Entry
Count=5
Item0=TC0, 1, 0x08
Item1=TC1, 1, 0x08
Item2=ADC, 1, 0x08
Item3=INT0, 1, 0x08
Item4=INT1, 1, 0x08
