ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
43326 Топик полностью
Bill (05.11.2005 23:16, просмотров: 1) ответил blackbit на ..вах! Всегда ли?..
Всегда! Само собой, программист должен быть более аккуратным, используя ассемблер. Комментарии в программе должны быть сделаны достаточно подробно. Но... При вложенных функциях информация о том, какие функции какие регистры используют, требует более тщательного и глубокого анализа, чтобы избежать подводных камней. Можно сэкономить пару регтстров в самой процедуре обработки прерываний, но потерять время на сохранение/восстановление регистров во вложенных функциях. Когда регистров много, то потребуется ввести определенные соглашения по их использованию в функциях. Альтернативой порядку может быть только беспорядок. В своем опусе я об этом уже упоминал. В компиляторе, имеются вполне определенные соглашения. Они логично и обоснованно следуют из особенностей архитектуры AVR. Почему бы и нам им не последовать? Компилятор делает это не втихую. Все есть в документации. Плохо, конечно, когда совсем нет выбора. Но не лучше, когда выбор слишком большой. Трудно сделать нормальную программу, когда в одних модулях используются одни соглашения (компилятор, скажем, дает такую возможность), в других - другие. Возьмите, например, AVR GCC. Опций у него превеликое множество, есть свобода выбора. Можно использовать этот компилятор Что касается меня, то я не чувствую каких-либо ограничений, используя IAR. Я научился понимать его, а он, видимо, - меня.