ARV писал(а):вообще-то для векторов прерываний правильная практика - задавать адрес вектора директивой .org и указанием символьного имени соответствующего вектора
Вот эта правильная практика мне, как раз и не нравится. В том числе и тем, что я или должен прописать руками
каждый, вектор, причем не одной строчкой, или оставить потенциальный глюкодром для неотлаженной программы. Мой вариант предполагает чисто механические действия над листингом ассемблерного примера из даташита, легко поддающиеся "механизации", собственно, я уже сочинил соответствующую программу для писюка. Я, правда, надеялся сделать вторую часть в виде макрокоманды, но, раз нельзя, буду копипастить кусочек с закомментированными заглушками и .include для генерации заглушек для тех прерываний, которые не используются.
Вариант, который предлагает
Seriyvolk тоже неплох, но там нужен большой объем ручной работы и, ИМХО, мой вариант таки нагляднее. Я считаю главной ценностью своего варианта именно наличие той самой таблицы заглушек. Все прерывания на виду, не нужно помнить метку из AVR-овского инклудника. Что это за прерывание, прописано в комментарии от AVR, скопипастил куда надо из этой таблицы один элемент вместе с комментарием, закомментировал оригинал (или, наоборот, раскомментировал копию, как я сейчас предполагаю делать), и вперед. Можно, конечно, сделать нечто подобное и из того кусочка инклудника, который описывает вектора, но там надо самому сочинять метки для переходов, а так вполне информативный набор меток любезно предоставлен авторами даташита (кроме метки ADC, которую я, обычно, подправляю до iADC).
Вообще, создается впечатление, что авторы АВР Студии ничего, кроме писюка не видели, все богатство идей, реализованных в ассемблерах до-писюшных времен осталось за бортом...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)