]> git.gag.com Git - fw/sdcc/blobdiff - src/pic/device.c
pCode Register optimization - registers used in only one or two instructions
[fw/sdcc] / src / pic / device.c
index b260f6f4c6c184a44923d75456d47e76ff7a6a18..bdb3cf6a2c21781746bd78e8fe5c25d05a3660ad 100644 (file)
@@ -113,6 +113,34 @@ memRange p16f877_sfr[] = {
   {-1,    -1,    -1,   -1}     /* end indicator */
 };
 
+/* 16F873 */
+memRange p16f873_mem[] = {
+  {0x20,  0x7f,  0x100, 0},
+  {0xa0,  0xff,  0x100, 1},
+  {-1,    -1,    -1,   -1}     /* end indicator */
+};
+memRange p16f873_sfr[] = {
+  {0x00,  0x00,  0x180, 0},
+  {0x01,  0x01,  0x100, 0},
+  {0x02,  0x04,  0x180, 0},
+  {0x05,  0x05,  0x000, 0},
+  {0x85,  0x85,  0x000, 1},
+  {0x81,  0x81,  0x100, 1},
+  {0x06,  0x06,  0x100, 0},
+  {0x86,  0x86,  0x100, 1},
+  {0x07,  0x09,  0x000, 0},
+  {0x87,  0x89,  0x000, 1},
+  {0x0a,  0x0b,  0x180, 0},
+  {0x0c,  0x1f,  0x000, 0},
+  {0x8c,  0x8e,  0x000, 1},
+  {0x91,  0x94,  0x000, 1},
+  {0x98,  0x99,  0x000, 1},
+  {0x9e,  0x9f,  0x000, 1},
+  {0x10c, 0x10f, 0x000, 2},
+  {0x18c, 0x18f, 0x000, 3},
+
+  {-1,    -1,    -1,   -1}     /* end indicator */
+};
 
 static PIC_device Pics[] = {
   {
@@ -139,6 +167,14 @@ static PIC_device Pics[] = {
     0x80,
   },
 
+  {
+    {"p16f873", "16f873", "pic16f873", "f873"},
+    p16f873_mem,
+    p16f873_sfr,
+    0,
+    0x180,
+  },
+
   {
     {"p16f877", "16f877", "pic16f877", "f877"},
     p16f877_mem,