C includes a register data type. Does eTPU_C allow register allocations? How do I access the P register from C?


eTPU_C does offer register-like types, with a few catches. You can use these types to access hardware registers directly, if necessary.

The traditional register alerts the compiler to allocate very fast storage (ie., a processor register) for a variable. It's a suggestion, and not mandatory. register might be useful on a system with lots of similar general-purpose registers. On eTPU, using register types is less of an advantage.

eTPU_C provides several specific register_xx types, one for each microcode-accessible register. Identifiers declared with them guarantee access to the named register.

Registers declared as global variables cannot be used to hold local variables or intermediate results.

register_xx variables actually point to a register, and therefore have no address value suitable for a pointer.