ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
248162 Топик полностью
rezident (15.04.2011 18:36, просмотров: 106) ответил Xитpый Kитaeц на Вопрос к знатокам IAR 6.0 MSP430. Есть две функции a и b, b вызывается внутри a. b реализована на asm и внутри себя использует R15. Функция а использует R15 для хранения локальной переменной, и, соответственно, эта переменная портится при вызове
Не пользуйте ASM-овые вставки внутри СИ-шных функций! Либо пишите функцию целиком на ASM, либо используйте зарезервированные регистры, чтобы компилятор знал об этом. Зарезервировать можно регистры R4 и R5.  Project Options -> C/C++ Compiler -> Code -> R4 utilization и R5 utilization.