ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
43248 Топик полностью
she (04.11.2005 18:50, просмотров: 1) ответил Xanoy на И ще по путно вопрос
пардон. "слаживание" - это, видимо, операция, результатом которой является полная лажа в регистре? =) такой вот лажовый компилер... а по первому вопросу - нужно функцию целиком писать на ассемблере, в отдельном модуле, и подлинковывать к проекту. Там будете сохранять только те регистры, какие надо. Каким образом - достаточно подробно описано в Compiler reference guide. Выглядеть будет примерно так: #define __IASM__ #include extern ssFOut ;здесь будет результат RSEG CODE #pragma vector=TIMER1_OVF_vect public Timer1Overflow Timer1Overflow: ST -Y,R31 ST -Y,R30 ST -Y,R20 ST -Y,R19 ST -Y,R18 ST -Y,R17 ST -Y,R16 IN R16,SREG REQUIRE ?Register_R10_is_global_regvar ;они тоже используются REQUIRE ?Register_R11_is_global_regvar ;задаются в настройках проекта REQUIRE ?Register_R12_is_global_regvar REQUIRE ?Register_R13_is_global_regvar REQUIRE ?Register_R14_is_global_regvar REQUIRE ?Register_R15_is_global_regvar ........................... и т.д.