p16f627_mem, /* ram mem map */
p16f627_sfr, /* sfr mem map */
0, /* max ram address (calculated) */
+ 0x80, /* Bank Mask */
},
{
p16f627_mem,
p16f627_sfr,
0,
+ 0x80,
},
{
p16f84_mem,
p16f84_sfr,
0,
+ 0x80,
},
{
p16f877_mem,
p16f877_sfr,
0,
+ 0x180,
},
};
}
+/*-----------------------------------------------------------------*
+ *-----------------------------------------------------------------*/
+
+int isREGinBank(regs *reg, int bank)
+{
+
+ if(!reg || !pic)
+ return 0;
+
+ if(((reg->address | reg->alias) & pic->bankMask & bank) == bank)
+ return 1;
+
+ return 0;
+}
+
+/*-----------------------------------------------------------------*
+ *-----------------------------------------------------------------*/
+int REGallBanks(regs *reg)
+{
+
+ if(!reg || !pic)
+ return 0;
+
+ return ((reg->address | reg->alias) & pic->bankMask);
+
+}
+
+/*-----------------------------------------------------------------*
+ *-----------------------------------------------------------------*/
+
static void addMaps(PIC_device *pPic)
{
int i;