Такая кодогенерация, кстати, решит проблему переносимости между компилерами (вот IAR-то обрадуется, например :) ). Т.е. мы будем писать, например, ассемблерную вставку, а кодогенератор "обернет" ее в нужную обертку для конкретного компилера. То же самое с __Interrupt и пр.