2 # PIC14: 14 bit 16Fxxx / 16Cxxx / 12Fxxx series device file for SDCC
4 # by Zik Saleeba <zik@zikzak.net> 2006-03-04
9 # program = program memory in 14 bit words
10 # data = data memory in bytes
11 # eeprom = eeprom storage
13 # maxram = maximum memmap address for unique general purpose registers
14 # bankmsk = mask for memmap bank selecting. 0x80 for two banks usable,
16 # confsiz = 1: config at 0x2007, 2: has an extra config register at 0x2008
17 # regmap = registers duplicated in multiple banks. First value is a bank bitmask,
18 # following values are register addresses
19 # memmap <start> <end> <alias>
20 # <start> - <end> mirrored in all banks set in <alias>
21 # <alias> is a bitmask of bank bits (0x80, 0x100, 0x180)
36 regmap 0x180 0x00 0x02 0x03 0x04 0x06 0x0a 0x0b
37 regmap 0x100 0x01 0x81
38 memmap 0x0020 0x003f 0x100
39 memmap 0x0040 0x007f 0x180
40 memmap 0x00a0 0x00bf 0x100
50 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
51 regmap 0x100 0x01 0x81 0x06 0x86
52 memmap 0x0020 0x007f 0x100
53 memmap 0x00a0 0x00ff 0x100
63 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
64 regmap 0x100 0x01 0x81 0x06 0x86
65 memmap 0x0020 0x007f 0x100
66 memmap 0x00a0 0x00ff 0x100
76 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
77 regmap 0x100 0x01 0x81 0x06 0x86
78 memmap 0x0020 0x006f 0x000
79 memmap 0x0070 0x007f 0x180
80 memmap 0x00a0 0x00ef 0x000
81 memmap 0x0120 0x016f 0x000
82 memmap 0x01a0 0x01ef 0x000
92 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
93 regmap 0x100 0x01 0x81 0x06 0x86
94 memmap 0x0020 0x006f 0x000
95 memmap 0x0070 0x007f 0x180
96 memmap 0x00a0 0x00ef 0x000
97 memmap 0x0120 0x016f 0x000
98 memmap 0x01a0 0x01ef 0x000
100 processor 16f84, 16f84a
108 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
109 memmap 0x000C 0x004f 0x080
111 processor 16f87, 16f88
119 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
120 regmap 0x100 0x01 0x81 0x06 0x86
121 memmap 0x0020 0x006f 0x000
122 memmap 0x0070 0x007f 0x180
123 memmap 0x0110 0x016f 0x000
124 memmap 0x0190 0x01ef 0x000
126 processor 16f616, 16hv616
134 regmap 0x080 0x00 0x02 0x03 0x04 0x0a 0x0b
135 memmap 0x0020 0x006f 0x000
136 memmap 0x0070 0x007f 0x080
137 memmap 0x00a0 0x00bf 0x000
139 processor 16f627, 16f627a
147 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
148 regmap 0x100 0x01 0x81 0x06 0x86
149 memmap 0x0020 0x006f 0x000
150 memmap 0x0070 0x007f 0x180
151 memmap 0x00a0 0x00ef 0x000
152 memmap 0x0120 0x014f 0x000
154 processor 16f628, 16f628a
162 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
163 regmap 0x100 0x01 0x81 0x06 0x86
164 memmap 0x0020 0x006f 0x000
165 memmap 0x0070 0x007f 0x180
166 memmap 0x00a0 0x00ef 0x000
167 memmap 0x0120 0x014f 0x000
169 processor 16f648, 16f648a
177 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
178 regmap 0x100 0x01 0x81 0x06 0x86
179 memmap 0x0020 0x006f 0x000
180 memmap 0x0070 0x007f 0x180
181 memmap 0x00a0 0x00ef 0x000
182 memmap 0x0120 0x016f 0x000
184 processor 16f630, 16f676
192 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
193 memmap 0x0020 0x005f 0x080
195 processor 16f636, 16f639
203 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
204 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
205 memmap 0x0020 0x006f 0x000
206 memmap 0x0070 0x007f 0x180
207 memmap 0x00a0 0x00bf 0x000
217 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
218 memmap 0x0020 0x006f 0x000
219 memmap 0x0070 0x007f 0x080
220 memmap 0x00a0 0x00bf 0x000
222 processor 16f685, 16f689, 16f690
230 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
231 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
232 memmap 0x0020 0x006f 0x000
233 memmap 0x0070 0x007f 0x180
234 memmap 0x00a0 0x00ef 0x000
235 memmap 0x0120 0x016f 0x000
245 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
246 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
247 memmap 0x0020 0x006f 0x000
248 memmap 0x0070 0x007f 0x180
249 memmap 0x00a0 0x00bf 0x000
259 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
260 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
261 memmap 0x0020 0x006f 0x000
262 memmap 0x0070 0x007f 0x180
263 memmap 0x00a0 0x00ef 0x000
264 memmap 0x0120 0x016f 0x000
274 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
275 memmap 0x0020 0x006f 0x000
276 memmap 0x0070 0x007f 0x080
277 memmap 0x00a0 0x00bf 0x000
287 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
288 regmap 0x100 0x01 0x81 0x06 0x86
289 memmap 0x0020 0x006f 0x000
290 memmap 0x0070 0x007f 0x180
291 memmap 0x00a0 0x00ef 0x000
292 memmap 0x0110 0x016f 0x000
293 memmap 0x0190 0x01ef 0x000
303 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
304 regmap 0x100 0x01 0x81 0x06 0x86
305 memmap 0x0020 0x006f 0x000
306 memmap 0x0070 0x007f 0x180
307 memmap 0x00a0 0x00ef 0x000
308 memmap 0x0110 0x016f 0x000
309 memmap 0x0190 0x01ef 0x000
319 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
320 regmap 0x100 0x01 0x81 0x06 0x86
321 memmap 0x0020 0x006f 0x000
322 memmap 0x0070 0x007f 0x180
323 memmap 0x00a0 0x00ef 0x000
324 memmap 0x0110 0x016f 0x000
325 memmap 0x0190 0x01ef 0x000
335 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
336 regmap 0x100 0x01 0x81 0x06 0x86
337 memmap 0x0020 0x006f 0x000
338 memmap 0x0070 0x007f 0x180
339 memmap 0x00a0 0x00ef 0x000
340 memmap 0x0110 0x016f 0x000
341 memmap 0x0190 0x01ef 0x000
343 processor 16f785, 16hv785
351 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
352 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87 0x8c
353 memmap 0x0020 0x006f 0x000
354 memmap 0x0070 0x007f 0x180
355 memmap 0x00a0 0x00bf 0x000
357 processor 16f870, 16f872
365 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
366 regmap 0x100 0x01 0x81 0x06 0x86
367 memmap 0x0020 0x006f 0x100
368 memmap 0x0070 0x007f 0x180
369 memmap 0x00a0 0x00bf 0x100
379 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
380 regmap 0x100 0x01 0x81 0x06 0x86
381 memmap 0x0020 0x006f 0x100
382 memmap 0x0070 0x007f 0x180
383 memmap 0x00a0 0x00bf 0x100
385 processor 16f873, 16f873a
393 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
394 regmap 0x100 0x01 0x81 0x06 0x86
395 memmap 0x0020 0x007f 0x100
396 memmap 0x00a0 0x00ff 0x100
398 processor 16f874, 16f874a
406 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
407 regmap 0x100 0x01 0x81 0x06 0x86
408 memmap 0x0020 0x007f 0x100
409 memmap 0x00a0 0x00ff 0x100
411 processor 16f876, 16f876a
419 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
420 regmap 0x100 0x01 0x81 0x06 0x86
421 memmap 0x0020 0x006f 0x000
422 memmap 0x0070 0x007f 0x180
423 memmap 0x00a0 0x00ef 0x000
424 memmap 0x0110 0x016f 0x000
425 memmap 0x0190 0x01ef 0x000
427 processor 16f877, 16f877a
435 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
436 regmap 0x100 0x01 0x81 0x06 0x86
437 memmap 0x0020 0x006f 0x000
438 memmap 0x0070 0x007f 0x180
439 memmap 0x00a0 0x00ef 0x000
440 memmap 0x0110 0x016f 0x000
441 memmap 0x0190 0x01ef 0x000
451 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
452 regmap 0x100 0x01 0x81 0x06 0x86
453 memmap 0x0020 0x006f 0x000
454 memmap 0x0070 0x007f 0x180
455 memmap 0x00a0 0x00ef 0x000
456 memmap 0x0110 0x016f 0x000
457 memmap 0x0190 0x01ef 0x000
467 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
468 regmap 0x100 0x01 0x81 0x06 0x86
469 memmap 0x0020 0x006f 0x000
470 memmap 0x0070 0x007f 0x180
471 memmap 0x00a0 0x00ef 0x000
472 memmap 0x0110 0x016f 0x000
473 memmap 0x0190 0x01ef 0x000
483 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
484 regmap 0x100 0x01 0x81 0x06 0x86
485 memmap 0x0020 0x003f 0x100
486 memmap 0x0040 0x007f 0x180
487 memmap 0x00a0 0x00bf 0x000
497 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
498 regmap 0x100 0x01 0x81 0x06 0x86
499 memmap 0x0020 0x006f 0x000
500 memmap 0x0070 0x007f 0x180
501 memmap 0x00a0 0x00ef 0x000
502 memmap 0x0120 0x016f 0x000
512 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
513 regmap 0x100 0x01 0x81 0x06 0x86
514 memmap 0x0020 0x006f 0x000
515 memmap 0x0070 0x007f 0x180
516 memmap 0x00a0 0x00ef 0x000
517 memmap 0x0120 0x016f 0x000
527 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
528 regmap 0x100 0x01 0x81 0x06 0x86
529 memmap 0x0020 0x006f 0x000
530 memmap 0x0070 0x007f 0x180
531 memmap 0x00a0 0x00ef 0x000
532 memmap 0x0120 0x016f 0x000
542 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
543 regmap 0x100 0x01 0x81 0x06 0x86
544 memmap 0x0020 0x006f 0x000
545 memmap 0x0070 0x007f 0x180
546 memmap 0x00a0 0x00ef 0x000
547 memmap 0x0120 0x016f 0x000
548 memmap 0x0190 0x01ef 0x000
558 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
559 regmap 0x100 0x01 0x81 0x06 0x86
560 memmap 0x0020 0x006f 0x000
561 memmap 0x0070 0x007f 0x180
562 memmap 0x00a0 0x00ef 0x000
563 memmap 0x0120 0x016f 0x000
564 memmap 0x0190 0x01ef 0x000
574 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
575 regmap 0x100 0x01 0x81 0x06 0x86
576 memmap 0x0020 0x006f 0x000
577 memmap 0x0070 0x007f 0x180
578 memmap 0x00a0 0x00ef 0x000
579 memmap 0x0120 0x016f 0x000
580 memmap 0x01a0 0x01ef 0x000
586 processor 16c62, 16c72
594 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
595 memmap 0x0020 0x007f 0x000
596 memmap 0x00a0 0x00bf 0x000
598 processor 16c63a, 16c73b
606 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
607 memmap 0x0020 0x007f 0x000
608 memmap 0x00a0 0x00ff 0x000
610 processor 16c65b, 16c74b
618 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
619 memmap 0x0020 0x007f 0x000
620 memmap 0x00a0 0x00ff 0x000
630 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
631 regmap 0x100 0x01 0x81
632 memmap 0x0020 0x007f 0x000
633 memmap 0x00a0 0x00ff 0x000
643 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
644 regmap 0x100 0x01 0x81
645 memmap 0x0020 0x007f 0x000
646 memmap 0x00a0 0x00ff 0x000
656 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
657 regmap 0x180 0x01 0x81
658 memmap 0x0020 0x006f 0x000
659 memmap 0x00a0 0x00ef 0x000
660 memmap 0x0110 0x016f 0x000
661 memmap 0x0190 0x01ef 0x000
662 memmap 0x0070 0x007f 0x180
672 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
673 regmap 0x180 0x01 0x81
674 memmap 0x0020 0x006f 0x000
675 memmap 0x00a0 0x00ef 0x000
676 memmap 0x0110 0x016f 0x000
677 memmap 0x0190 0x01ef 0x000
678 memmap 0x0070 0x007f 0x180
688 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
689 memmap 0x0020 0x006f 0x000
690 memmap 0x0070 0x007f 0x080
691 memmap 0x00a0 0x00bf 0x000
701 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
702 memmap 0x0020 0x006f 0x000
703 memmap 0x0070 0x007f 0x080
704 memmap 0x00a0 0x00bf 0x000
714 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
715 memmap 0x0020 0x006f 0x000
717 processor 16c557, 16c558
725 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
726 memmap 0x0020 0x007f 0x000
727 memmap 0x00a0 0x00bf 0x000
737 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
738 memmap 0x0020 0x006f 0x000
740 processor 16c620a, 16cr620a
748 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
749 memmap 0x0020 0x006f 0x000
750 memmap 0x0070 0x007f 0x080
760 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
761 memmap 0x0020 0x006f 0x000
771 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
772 memmap 0x0020 0x006f 0x000
773 memmap 0x0070 0x007f 0x080
783 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
784 memmap 0x0020 0x007f 0x000
785 memmap 0x00a0 0x00bf 0x000
795 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
796 memmap 0x0020 0x006f 0x000
797 memmap 0x0070 0x007f 0x080
798 memmap 0x00a0 0x00bf 0x000
809 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
810 memmap 0x000c 0x002f 0x080
820 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
821 memmap 0x000c 0x002f 0x080
831 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
832 memmap 0x000c 0x004f 0x080
842 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
843 memmap 0x0020 0x007f 0x000
844 memmap 0x00a0 0x00bf 0x000
846 processor 16c717, 16c770
854 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
855 regmap 0x100 0x01 0x81 0x06 0x86
856 memmap 0x0020 0x006f 0x000
857 memmap 0x0070 0x007f 0x180
858 memmap 0x00a0 0x00ef 0x000
859 memmap 0x0120 0x016f 0x000
869 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
870 regmap 0x100 0x01 0x81 0x06 0x86
871 memmap 0x0020 0x006f 0x000
872 memmap 0x0070 0x007f 0x180
873 memmap 0x00a0 0x00ef 0x000
874 memmap 0x0120 0x016f 0x000
884 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
885 regmap 0x100 0x01 0x81 0x06 0x86
886 memmap 0x0020 0x006f 0x000
887 memmap 0x0070 0x007f 0x180
888 memmap 0x00a0 0x00ef 0x000
889 memmap 0x0120 0x016f 0x000
890 memmap 0x01a0 0x01df 0x000
900 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
901 regmap 0x100 0x01 0x81 0x06 0x86
902 memmap 0x0020 0x006f 0x000
903 memmap 0x0070 0x007f 0x180
904 memmap 0x00a0 0x00ef 0x000
905 memmap 0x0120 0x016f 0x000
906 memmap 0x01a0 0x01df 0x000
916 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
917 regmap 0x100 0x01 0x81 0x06 0x86
918 memmap 0x0020 0x006f 0x000
919 memmap 0x0070 0x007f 0x180
920 memmap 0x00a0 0x00ef 0x000
921 memmap 0x0120 0x016f 0x000
931 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
932 regmap 0x100 0x01 0x81 0x06 0x86
933 memmap 0x0020 0x006f 0x000
934 memmap 0x0070 0x007f 0x180
935 memmap 0x00a0 0x00ef 0x000
936 memmap 0x0120 0x016f 0x000
946 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
947 regmap 0x100 0x01 0x81 0x06 0x86
948 memmap 0x0020 0x006f 0x000
949 memmap 0x0070 0x007f 0x180
950 memmap 0x00a0 0x00bf 0x000
960 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
961 regmap 0x100 0x01 0x81 0x06 0x86
962 memmap 0x0020 0x006f 0x000
963 memmap 0x0070 0x007f 0x180
964 memmap 0x00a0 0x00bf 0x000
974 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
975 regmap 0x100 0x01 0x81 0x06 0x86
976 memmap 0x0020 0x006f 0x000
977 memmap 0x0070 0x007f 0x180
978 memmap 0x00a0 0x00bf 0x000
988 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
989 regmap 0x100 0x01 0x81 0x06 0x86
990 memmap 0x0020 0x006f 0x000
991 memmap 0x0070 0x007f 0x180
992 memmap 0x00a0 0x00bf 0x000
993 memmap 0x0120 0x016f 0x000
994 memmap 0x01a0 0x01bf 0x000
997 # 12F series devices with 14 bit core
999 processor 12f629, 12f675
1007 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
1008 memmap 0x0020 0x005f 0x080
1018 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
1019 regmap 0x100 0x01 0x81 0x05 0x85
1020 memmap 0x0040 0x006f 0x000
1021 memmap 0x0070 0x007f 0x180
1031 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
1032 memmap 0x0020 0x006f 0x000
1033 memmap 0x0070 0x007f 0x080
1034 memmap 0x00a0 0x00bf 0x000