Если упереться в использование GCC, то общем можно и без макросов обойтись. Но согласен - штука на любителя. С другой стороны основные неприятности из-за несохранения стека, а если стек сохранять - то это будет обычная RTOS.
Не надо делать мне как лучше, оставьте мне как хорошо