ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
407132 Топик полностью
Apтём (03.05.2013 00:36, просмотров: 344) ответил fk0 на Говорят, что кур доят. Сделать можно. Кто ниасилил это сделать корректно без глюков -- сам виноват. Другое дело что... накладные расходы большие, лучше аппаратно.
Вопрос не в том что можно.Делать там особо и нечего - на входе прерывания SP процесса сохранил, заменил на SP прерываний. На выходе наоборот. Но есть такое мнение:
ПРЕДУПРЕЖДЕНИЕ. Несмотря на видимое преимущество схемы с отдельным стеком прерываний, не рекомендуется использовать этот вариант на процессорах, которые не имеют аппаратных средств переключения указателя стека на стек прерываний. Это связано с дополнительными накладными расходами по переклю- чению стека, плохой переносимостью – любые нестандартные расширения являются источником проблем, а также тем, что пря- мое вмешательство в процесс управления указателем стека может так или иначе вызвать коллизии с адресацией локальных объек- тов – например, компилятор, видя тело обработчика прерываний, выделяет2 память под локальные объекты в стеке. Причём, делает это до вызова3 конструктора «обёртки» – таким образом, после переключения указателя стека на стек прерываний память, которая была выделена ранее, физически окажется в другом месте, и про- грамма будет работать неправильно, а компилятор не сможет вы- явить эту ситуацию.
Не согласны?