У меня есть три основных вопроса, которые относятся только к архитектуре x86, поскольку я являюсь пользователем микрочипа Intel 80386.
Вот основные, которые я знаю: таблица прерываний начинается с адреса 0x0000, поэтому инструкция int 0x01 будет искать адрес 0x0001. Затем процессор увидит адрес, содержащийся в ячейке 0x0001, и ожидает начала обработчика прерывания 0x01 по этому адресу, на который указывает 0x0001.
Итак, мой первый вопрос: как обработчик прерывания указывает свой конец и сообщает процессору, чтобы он вернулся к процессу, который сделал прерывание. Индикатор только NULL или есть специальное значение, указывающее, что обработчик завершен?
Второй вопрос: в MS-DOS аппаратное прерывание 0x19 используется для перезагрузки компьютера. Я хочу знать, где находится обработчик этого прерывания. это в ПЗУ BIOS, поэтому это называется «вызов прерывания BIOS»? пожалуйста, объясните мне термин. кроме того, поскольку прерывание MS-DOS 0x21 включает функции MS-DOS (например, получение и печать символов), оно находится в ОЗУ, а не в BIOS, верно? Значит ли это, что это не прерывание BIOS?
наконец, я хочу знать, загружаю ли я таблицу прерываний с шестнадцатеричными прерываниями 99, что означает, что 0x99 является последним, что произойдет, если пользователь сделает 0x9A (что на единицу больше, чем 0x99)?
Пожалуйста, ответьте на эти три моих вопроса, так как в наши дни я очень увлекаюсь системным программированием. Прошу прощения, если это слишком долго и сложно. заранее спасибо!