1. ".macro begin" и его закрытие - я-бы выкинул (не понимаю, зачем оно вообще). 2. Цикл "m0:" поставил-бы сразу за "sei" (просто по смыслу). 3. "jmp start" - поменял-бы на reti везде, кроме "Reset Handler" (ИМХО - так правильнее). Или на какой-нть "jmp trap_unknown_interrupt".