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


[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=41
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, 0xf7, 0xc7, 1
Item5=5, P0M, 0xB8, 1, 0x01, 0, 0xff, 0xff, 1
Item6=6, PEDGE, 0xbf, 5, 0x18, 0x10, 0xff, 0xff, 1
Item7=7, P1W, 0xc0, 4, 0x0f, 0, 0, 0xff, 1
Item8=8, P1M, 0xc1, 4, 0x0d, 0, 0xfd, 0xfd, 1   
Item9=9, P2M, 0xc2, 6, 0x3f, 0, 0xff, 0xff, 1
Item10=10, P5M, 0xc5, 5, 0x10, 0, 0xff, 0xff, 1
Item11=11, INTRQ, 0xc8, 6, 0x31, 0, 0xff, 0xff, 1
Item12=12, INTEN, 0xc9, 6, 0x31, 0, 0xff, 0xff, 1
Item13=13, OSCM, 0xca, 5, 0x1e, 0, 0xff, 0xff, 1
Item14=14, WDTR, 0xcc, 8, 0xff, 0, 0, 0xff, 1
Item15=15, TC0R, 0xcd, 8, 0xff, 0, 0, 0xff, 1
Item16=16, PCL, 0xce, 8, 0xff, 0, 0xff, 0xff, 1
Item17=17, PCH, 0xcf, 2, 0x3, 0, 0xff, 0xff, 1
Item18=18, P0, 0xd0, 1, 0x1, 0, 0xff, 0xff, 1
Item19=19, P1, 0xd1, 4, 0xf, 0, 0xff, 0xff, 1
Item20=20, P2, 0xd2, 6, 0x3f, 0, 0xff, 0xff, 1
Item21=21, P5, 0xd5, 5, 0x10, 0, 0xff, 0xff, 1
Item22=22, T0M, 0xd8, 8, 0xf1, 0, 0xff, 0xff, 1
Item23=23, T0C, 0xd9, 8, 0xff, 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, STKP, 0xDF, 8, 0x83, 7, 0xff, 0xff, 1
Item27=27, P0UR, 0xe0, 1, 0x01, 0, 0, 0xff, 1
Item28=28, P1UR, 0xe1, 4, 0x0d, 2, 0, 0xfd, 1
Item29=29, P2UR, 0xe2, 6, 0x3f, 0, 0, 0xff, 1
Item30=30, P5UR, 0xe5, 5, 0x10, 0, 0, 0xff, 1
Item31=31, @YZ, 0xe7, 8, 0xff, 0, 0xff, 0xff, 1
Item32=32, P1OC, 0xe9, 1, 0x01, 0, 0, 0xff, 1
Item33=33, STK3L, 0xf8, 8, 0xff, 0, 0xff, 0xff, 1
Item34=34, STK3H, 0xf9, 2, 0x03, 0, 0xff, 0xff, 1
Item35=35, STk2L, 0xfa, 8, 0xff, 0, 0xff, 0xff, 1
Item36=36, STK2H, 0xfB, 2, 0x03, 0, 0xff, 0xff, 1
Item37=37, STK1L, 0xfc, 8, 0xff, 0, 0xff, 0xff, 1
Item38=38, STK1H, Oxfd, 2, 0x03, 0, 0xff, 0xff, 1
Item39=39, STk0L, 0xfe, 8, 0xff, 0, 0xff, 0xff, 1
Item40=40, STK0H, 0xff, 2, 0x03, 0, 0xff, 0xff, 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, 3, 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
P0M=0, P00M
PEDGE=3, P00G0, 4, P00G1
P1W=0, 0, 1, 1, 2, 2, 3, 3
P1M=0, 0, 2, 2, 3, 3
P2M=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
P5M=4, 4
INTRQ=0, P00IRQ, 4, T0IRQ, 5, TC0IRQ
INTEN=0, P00IEN, 4, T0IEN, 5, TC0IEN
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, 0
P1=0, 0, 1, 1, 2, 2, 3, 3
P2=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
P5=4, 4
T0M=0, T0TB, 4, T0rate0, 5, T0rate1, 6, T0rate2 , 7, T0ENB
T0C=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
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
STKP=0, STKPB0, 1, STKPB1, 7, GIE
P0UR=0, 0
P1UR=0, 0, 2, 2, 3, 3
P2UR=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
P5UR=4, 4
@YZ=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
P1OC=0, P10OC
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=0x30, 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=4
Item0=P0, 1, 0x01, 0x01, 0x01
Item1=P1, 4, 0x0f, 0x0f, 0x0d
Item2=P2, 6, 0x3f, 0x3f, 0x3f
Item3=P5, 5, 0x10, 0xff, 0xff

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

[Interrupt]
;Item# = Source Name, Priority, ISR Entry
Count=3
Item0=T0, 1, 0x08
Item1=TC0, 1, 0x08
Item2=INT0, 1, 0x08


























