/* definition for the registers */
typedef struct regs
{
- short type; /* can have value
- REG_GPR, REG_PTR or REG_CND */
- short rIdx; /* index into register table */
+ short type; /* can have value
+ REG_GPR, REG_PTR or REG_CND */
+ short rIdx; /* index into register table */
short otype;
- char *name; /* name */
- char *dname; /* name when direct access needed */
- char *base; /* base address */
- short offset; /* offset from the base */
- unsigned isFree:1; /* is currently unassigned */
+ char *name; /* name */
+ char *dname; /* name when direct access needed */
+ char *base; /* base address */
+ short offset; /* offset from the base */
+ unsigned isFree:1; /* is currently unassigned */
+ unsigned valueKnown:1; /* from rtrack.c */
+ unsigned char value; /* from rtrack.c only valid when valueKnown is set */
+
}
regs;
extern regs regs8051[];
bitVect *mcs51_rUmaskForOp (operand * op);
bitVect *mcs51_allBitregs (void);
+extern int mcs51_ptrRegReq;
+extern int mcs51_nRegs;
+
#endif