X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Favr%2Fralloc.h;h=b146bca68c83f89061683fb816f0edcb624600fb;hb=8c9c17bede2d442a7690c614260ee38e6b40b39a;hp=f293e60cec9a77ff5e801ca5a6b74e676dac4ca8;hpb=e48f3721c0f89871198b06d578c9cc95a3add49c;p=fw%2Fsdcc diff --git a/src/avr/ralloc.h b/src/avr/ralloc.h index f293e60c..b146bca6 100644 --- a/src/avr/ralloc.h +++ b/src/avr/ralloc.h @@ -27,36 +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_SCR 0x03 -#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