direct use of register names in macros instead of defines