Не знаю как в Иаре - нет его у меня, но в SDCC есть опции: -dM Tell
the preprocessor to output only a list of the macro definitions
that are in effect at the end of preprocessing. Used with the ‘-E’
option. -dD Tell the preprocessor to pass all macro definitions into the output, in their proper sequence in the rest
of the output.
Можно получить список макросов и их значений в с файлах - что должно помочь увидеть, что макрос себя ведёт как надо.
Но ни разу вовремя про это не вспомнил