X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Favr%2Fralloc.h;h=b146bca68c83f89061683fb816f0edcb624600fb;hb=3929272bc523af272364e741f5a4565c97c47932;hp=303c6b93eb86a971a4862b09c04dfb36545eebad;hpb=15c7b11c3403b08930035ac68c86d404c45f1bd2;p=fw%2Fsdcc diff --git a/src/avr/ralloc.h b/src/avr/ralloc.h index 303c6b93..b146bca6 100644 --- a/src/avr/ralloc.h +++ b/src/avr/ralloc.h @@ -27,35 +27,42 @@ #ifndef SDCCRALLOC_H #define SDCCRALLOC_H 1 -enum { R0_IDX = 0, R1_IDX , R2_IDX , R3_IDX , R4_IDX , - R5_IDX , R6_IDX , R7_IDX , R8_IDX , R9_IDX , - R10_IDX , R11_IDX, R12_IDX, R13_IDX, R14_IDX, - R15_IDX , R16_IDX, R17_IDX, R18_IDX, R19_IDX, - R20_IDX , R21_IDX, R22_IDX, R23_IDX, R24_IDX, - R25_IDX , R26_IDX, R27_IDX, R28_IDX, R29_IDX, - R30_IDX , R31_IDX, X_IDX , Z_IDX , CND_IDX }; +enum + { + R0_IDX = 0, R1_IDX, R2_IDX, R3_IDX, R4_IDX, + R5_IDX, R6_IDX, R7_IDX, R8_IDX, R9_IDX, + R10_IDX, R11_IDX, R12_IDX, R13_IDX, R14_IDX, + R15_IDX, R16_IDX, R17_IDX, R18_IDX, R19_IDX, + R20_IDX, R21_IDX, R22_IDX, R23_IDX, R24_IDX, + R25_IDX, R26_IDX, R27_IDX, R28_IDX, R29_IDX, + R30_IDX, R31_IDX, X_IDX, Z_IDX, CND_IDX + }; #define REG_PTR 0x01 #define REG_GPR 0x02 -#define REG_CND 0x04 +#define REG_SCR 0x04 +#define REG_CND 0x08 +#define REG_MASK 0x0f +#define REG_PAIR 0x10 /* 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 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 */ - unsigned saveReq:1; /* save required @ function entry ? */ -} regs; + { + 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 */ + unsigned saveReq:1; /* save required @ function entry ? */ + } +regs; extern regs regsAVR[]; -regs *avr_regWithIdx (int); +regs *avr_regWithIdx (int); #endif