Задать вопрос
TalismanChet
@TalismanChet
Лицо зла

Как переключить задачу в прерывании?

как переключить задачу в прерывании таймера?
я пишу многопоточность в реальном режиме, уже сделал interrupt abuse и заменил прерывание таймера на свое. у меня есть массив из массивов (матрица, далее х и у).по оси х - потоки, а по оси у - все имеющиеся в процессоре регистры (в том числе сегментные). мне нужно сохранить текущее состояние процесса в массив по оси х (сохранить значения всех регистров), увеличить номер текущей задачи на единицу, загрузить регистры из следующего дескриптора и закончить прерывание. проблема в том, что я не знаю, как и в каком порядке загрузить регистры, чтобы случайно не сломать код (например, в каком порядке загрузить сегментные регистры?) и как получить состояние процессора в самом начале прерывания (я знаю, что где-то в стеке, но где - не знаю). кода на руках нет, но пишется все на fasm'e.
  • Вопрос задан
  • 128 просмотров
Подписаться 2 Простой 10 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы