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