*/
typedef struct memRange {
- int start_address; /* first address in range */
- int end_address; /* last */
- int alias; /* bit mask defining how/if memory range is aliased
- * e.g. alias = 0x80 means start_address is identical
- * to the memory location at (0x80 | start_address) */
- int bank; /* PIC memory bank this range occupies */
+ int start_address; /* first address in range */
+ int end_address; /* last */
+ int alias; /* bit mask defining how/if memory range is aliased
+ * e.g. alias = 0x80 means start_address is identical
+ * to the memory location at (0x80 | start_address) */
+ int bank; /* PIC memory bank this range occupies */
} memRange;
*/
typedef struct AssignedMemory {
- regs *reg; /* Pointer to the register (NULL if this is an invalid address) */
- int instance; /* the i'th byte of a multibyte register */
- int alias; /* Bit mapping of aliased addresses (see memRange) */
- int bank; /* Memory bank of this register */
- int isValid:1; /* True if the address is legal */
- int isSFR:1; /* True if the address is that of a Special Function reg */
- int isEmitted:1; /* True if the register has been written to a cBlock */
+ regs *reg; /* Pointer to the register (NULL if this is an invalid address) */
+ int instance; /* the i'th byte of a multibyte register */
+ int alias; /* Bit mapping of aliased addresses (see memRange) */
+ int bank; /* Memory bank of this register */
+ int isValid:1; /* True if the address is legal */
+ int isSFR:1; /* True if the address is that of a Special Function reg */
+ int isEmitted:1; /* True if the register has been written to a cBlock */
} AssignedMemory;
#define PROCESSOR_NAMES 4
/* Processor unique attributes */
typedef struct PIC_device {
- char *name[PROCESSOR_NAMES];/* aliases for the processor name */
+ char *name[PROCESSOR_NAMES];/* aliases for the processor name */
- memRange *ram; /* RAM memory map */
- memRange *sfr; /* SFR memory map */
+ memRange *ram; /* RAM memory map */
+ memRange *sfr; /* SFR memory map */
- int maxRAMaddress; /* maximum value for a data address */
- int bankMask; /* Bitmask that is ANDed with address to extract banking bits */
- // int hasAliasedRAM:1; /* True if there are bank independent registers */
+ int maxRAMaddress; /* maximum value for a data address */
+ int bankMask; /* Bitmask that is ANDed with address to extract banking bits */
+ // int hasAliasedRAM:1; /* True if there are bank independent registers */
} PIC_device;