Dot 0 14 апреля, 2014 Опубликовано 14 апреля, 2014 (изменено) · Жалоба STM32, uVision4. Хочется использовать R5...R11 исключительно в обработчике прерывания (сэкономив на записи - восстановлении из стека), и, возможно, не только для промежуточных результатов, но и для хранения переменных между вызовами. Посмотрел результаты компиляции основного цикла (на Си) -- используются только R0...R3 (вроде бы..) Правомерно ли считать, что при добавлении нового кода ситуация не изменится, а если нет, то есть ли возможность зарезервировать требуемые регистры? Изменено 14 апреля, 2014 пользователем Dot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 15 апреля, 2014 Опубликовано 15 апреля, 2014 · Жалоба Смените камень на что-нибудь с ядром ARM7TDMI (к примеру) и используйте FIQ - практически полностью соответствует Вашим требованиям :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
neiver 0 15 апреля, 2014 Опубликовано 15 апреля, 2014 · Жалоба Вы чего-то странного хотите. Регистры R0...R3 сохраняются и восстанавливаются в прерываниях аппаратно. Если обработчику прерываний их не хватает, то будут использованы и остальные регистры. Оставьте регистры компилятору, он неплохо разбирается как и когда их использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dot 0 15 апреля, 2014 Опубликовано 15 апреля, 2014 (изменено) · Жалоба Смените камень на что-нибудь с ядром ARM7TDMI (к примеру) и используйте FIQ - практически полностью соответствует Вашим требованиям :) Так когда работал с TDMI - радовался жизни! Вы чего-то странного хотите... Оставьте регистры компилятору... Нахрена они компилятору, который и распорядиться-то толком ими не умеет? Пусть ограничится песочницей R0...R3! Обработчик прерывания пишу сам. Изменено 15 апреля, 2014 пользователем Dot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться