X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic%2Fdevice.h;h=8ee30e43846061ab580ecf442df1db381438df56;hb=01c5178e097126448f1fd794cdc93e933a6e7dc7;hp=591181a80cee4dd2851faa0a544511f234dd04cc;hpb=1997947764c311e13f5808f4f48c37a1a834ee44;p=fw%2Fsdcc diff --git a/src/pic/device.h b/src/pic/device.h index 591181a8..8ee30e43 100644 --- a/src/pic/device.h +++ b/src/pic/device.h @@ -86,9 +86,10 @@ typedef struct PIC_device { } PIC_device; /* Given a pointer to a register, this macro returns the bank that it is in */ -#define REG_BANK(r) (finalMapping[(r)->address].bank) -#define REG_isALIASED(r) (finalMapping[(r)->address].alias != 0) -#define REG_isVALID(r) (finalMapping[(r)->address].isValid) +#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) /****************************************/