Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрет компилятору на использование определенных регистров
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Dot
STM32, uVision4.

Хочется использовать R5...R11 исключительно в обработчике прерывания (сэкономив на записи - восстановлении из стека), и, возможно, не только для промежуточных результатов, но и для хранения переменных между вызовами.

Посмотрел результаты компиляции основного цикла (на Си) -- используются только R0...R3 (вроде бы..) Правомерно ли считать, что при добавлении нового кода ситуация не изменится, а если нет, то есть ли возможность зарезервировать требуемые регистры?
RabidRabbit
Смените камень на что-нибудь с ядром ARM7TDMI (к примеру) и используйте FIQ - практически полностью соответствует Вашим требованиям sm.gif
neiver
Вы чего-то странного хотите. Регистры R0...R3 сохраняются и восстанавливаются в прерываниях аппаратно. Если обработчику прерываний их не хватает, то будут использованы и остальные регистры. Оставьте регистры компилятору, он неплохо разбирается как и когда их использовать.
Dot
Цитата(RabidRabbit @ Apr 15 2014, 11:26) *
Смените камень на что-нибудь с ядром ARM7TDMI (к примеру) и используйте FIQ - практически полностью соответствует Вашим требованиям sm.gif


Так когда работал с TDMI - радовался жизни!


Цитата(neiver)
Вы чего-то странного хотите... Оставьте регистры компилятору...


Нахрена они компилятору, который и распорядиться-то толком ими не умеет? Пусть ограничится песочницей R0...R3!
Обработчик прерывания пишу сам.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.