Если использовать volatile, то получается ЖУТКИЙ код. Мало того, что обращение к переменной занимает лишние 5 тактов (и регистр), так еще и этих обращений становится не в меру много. Кроме того, прерывание распухает за счет пушей и попов и т.д. Регистров навалом - грех не использовать!
Программа пишется на си... прерывание возможно позже перепишу на асме, пока вроде си хватает, но не все бантики еще привязаны.
Вопрос вдогонку... (первый вопрос остается в силе!!!) Задрал меня гнусный асм... У кого-то есть опыт линковки нормального ассемблера с гнусными объектниками?
1. Переменную объявить как регистровую во всех компилируемых модулях 2. В прерывании это работает, вне прерываний оптимизатор обращения к такой переменной может выкинуть (volatile не поможет). Можно сделать так:
3. Про использование внешних библиотек, в том числе стандартных, можно забыть
Проект [[Open Robotics]] - универсальные модули для построения роботов Модули Open Robotics можно приобрести в магазине shop.roboforum.ru Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!
Michael_K писал(а):на "безопасные" регистры никто вроде бы не покушается
Еще как покушается. А завтра компилятор обновите, и ваще все накроется
Проект [[Open Robotics]] - универсальные модули для построения роботов Модули Open Robotics можно приобрести в магазине shop.roboforum.ru Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!
Ну, в любом случае, деваться некуда Компиляторы я храню с проектами - знаем мы эти приколы, когда порядок передачи аргументов "вдруг" меняется на противоположный...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Гнусный асм спасет только ручная компиляция... Они меня даже на багзилле "забанили", а потом багзиллу винавровскую и вовсе закрыли опенсорсники, млин - все через коленку
З.Ы. Вспомнилось, как intel после сообщения о мелких глючках (даже не багах) в ихнем ассемблере, прислала исправленную версию на почту с извинениями... лет надцать назад... Разве сейчас такое возможно? Ээх...
ну то интель... у меня у друзей описалово на кучу семейств их процов лежит.. несколько толстых томиков.. прислали нахаляву...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
не... дело, имхо, не в интеле. А в том, что люди реально ответственно относились к своему труду.
Я не думаю, что сегодня даже интел ответит лично (да еще и извинится за потраченное тобой время), максимум ответит что-то вроде "ваша заявка принята, если нам захочется, то может быть когда-нибудь мы на нее посмотрим"... а то и вообще ничего... И уж точно никто не кинется исправлять баги или высылать тебе исправленное на почту.
Причины понятны, конечно... но "осадок остается"... "Исторически сложилось", млин - всё объясняющие слова.