Оптимизация включена на скорость, выключить не могу. Фунцкию наверху привел как пример , к переменным/регистрам обрашаюсь в прерывании по INT0 (в прерывании обрашение к ним есть видн из асм листинга) и причем явно в C, декларировал как volatile - компайлеру начхать.
В асм листинге main() видно как компайлер поставил REQUIRE Register_Rx_is_global_var - то есть неспоптимизировал если правильно понял . Тоже самое в листинге для INT0 isr. В опциях проекта зарезервировал все регистры (от R4 до R15), номер регистра в декларации переменной из зарезервированного листа регистров.
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|