+#define REG_ADDR(r) ((r)->isBitField ? (((r)->address)>>3) : (r)->address)
+#define REG_BANK(r) (finalMapping[REG_ADDR(r)].bank)
+#define REG_isALIASED(r) (finalMapping[REG_ADDR(r)].alias != 0)
+#define REG_isVALID(r) (finalMapping[REG_ADDR(r)].isValid)
+
+
+/****************************************/
+void assignConfigWordValue(int address, int value);
+int getConfigWord(int address);
+int isREGinBank(regs *reg, int bank);
+int REGallBanks(regs *reg);
+void addMemRange(memRange *r, int type);
+void setMaxRAM(int size);
+void setDefMaxRam(void);
+
+void pic14_assignConfigWordValue(int address, int value);
+int pic14_emitConfigWord (FILE * vFile);
+int pic14_getConfigWord(int address);
+
+unsigned pic14_getMaxRam(void);
+int pic14_getHasSecondConfigReg(void);
+int pic14_allRAMShared(void);
+int pic14_hasSharebank(int *low, int *high, int *size);
+int pic14_getSharedStack(int *low, int *high, int *size);
+PIC_device * pic14_getPIC(void);