OSDev

для всех
Текущее время: 28 апр 2024, 23:14

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 30 дек 2011, 12:27 
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 дек 2011, 12:46 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
На первый вопрос нашел будет исключение 12(для SS) или 13. Без кода ошибки.
А вот насколько эмуляторы это эмулируют корректно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 дек 2011, 17:14 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Для проверки режима можно прочитать CR0, бит 0.
Для проверки А20 можно сравнить блоки памяти размером 1КБ по адресам 0 и 100000h, должны быть разные. Обычно отличие обнаруживается в первых нескольких байтах, поэтому цикл получается не длинный.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB