OSDev
http://osdev.su/

Вторичный загрузчик, проверки состояний
http://osdev.su/viewtopic.php?f=6&t=477
Страница 1 из 1

Автор:  pavia [ 30 дек 2011, 12:27 ]
Заголовок сообщения:  Вторичный загрузчик, проверки состояний

Тема уже много раз обсуждалось. Но ещё раз хочу спросить.
Для того чтобы проверить перешли мы в защищённый режим или нет.
Хочу задействовать проверку придела. И тут не очень понятно как себя должен вести компьютер в реальном режиме
на инструкции вида.
mov ax,ds:[10000h]
Будет прерывание или нет?

И второй вопрос какой корректный алгоритм для проверки линии открытия линии A20?
Достаточно ли проверить адрес из диапазона 100000h-10FFEFh ?

Автор:  pavia [ 30 дек 2011, 12:46 ]
Заголовок сообщения:  Re: Вторичный загрузчик, проверки состояний

На первый вопрос нашел будет исключение 12(для SS) или 13. Без кода ошибки.
А вот насколько эмуляторы это эмулируют корректно?

Автор:  Himik [ 30 дек 2011, 17:14 ]
Заголовок сообщения:  Re: Вторичный загрузчик, проверки состояний

Для проверки режима можно прочитать CR0, бит 0.
Для проверки А20 можно сравнить блоки памяти размером 1КБ по адресам 0 и 100000h, должны быть разные. Обычно отличие обнаруживается в первых нескольких байтах, поэтому цикл получается не длинный.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/