2 Vit. Да, я уже знаю, что такое volatile. Просто забавно оказывается, что если в прерывании, о котором я так пекусь, использовать дополнительную переменную и 2 лишних операции присванивания (volatile тра-ла-ла = temp_var), то код сокращается с 3238 до 3170 байт. А время выполнения, наверное, уменьшается. Приятно сознавать, что многого можно добиться и без написания "нового суперкрутогого С-омпилятора". 2 ReAl. Претензий-то нет. Просто я сначала и не подумал о таком побочном эффекте. Дескать "родное" прерывание может делать с переменной всё, что захочет, да ещё и оптимальнейшим образом. ;-) А про "подтасовку" - это, типа, ворчание: "По умолчанию поставили О0, сгенерили как надо, заменили кое-что глупостями. Потом, когдя я ставлю Оs или что-то подобное - глупости заменяются правильными кодами, а я думаю - "Какой умница, классно оптимизирует"...