ВУЗ:
Составители:
37
Поэтому после перехода в реальный режим необходимо загрузить в
используемые далее сегментные регистры соответствующие сегментные
адреса. В строках 148 – 151 в регистры DS и SS записываются сегментные
адреса соответствующих сегментов.
При рассмотренном варианте возврата в реальный режим (без сброса
процессора) не надо сохранять кадр стека, так как содержимое регистра SP
в этом случае не разрушается, а регистр SS мы уже инициализировали.
Для восстановления работоспособности системы следует также
разрешить прерывания (маскируемые – строка 155, немаскируемые –
строки 156, 157), после чего программа может продолжаться уже в реаль-
ном режиме. В рассмотренном примере для проверки работоспособности
системы в этом режиме на экран выводится сообщение ‘Real mode now’ с
помощью функции DOS 09h. Для наглядности в сообщение включены Esc
последовательности для смены цвета символов и фона (красные символы
на зеленом фоне). Осуществлена смена цвета символов и фона может быть
лишь в том случае, если в DOS установлен драйвер ANSI.SYS. Если после
перехода в реальный режим при установленном драйвере ANSI.SYS
сообщение будет выведено без изменения цветов, это может говорить об
ошибках защищенного режима.
Перед завершением программы, она ожидает ввода с клавиатуры
(функция 0 прерывания int 16h), чтобы можно было успеть увидеть
содержимое экрана.
Программа завершается обычным образом функцией DOS 4Ch.
Нормальное завершение программы и переход в DOS тоже в какой-то мере
свидетельствует о ее правильности.
Поэтому после перехода в реальный режим необходимо загрузить в используемые далее сегментные регистры соответствующие сегментные адреса. В строках 148 – 151 в регистры DS и SS записываются сегментные адреса соответствующих сегментов. При рассмотренном варианте возврата в реальный режим (без сброса процессора) не надо сохранять кадр стека, так как содержимое регистра SP в этом случае не разрушается, а регистр SS мы уже инициализировали. Для восстановления работоспособности системы следует также разрешить прерывания (маскируемые – строка 155, немаскируемые – строки 156, 157), после чего программа может продолжаться уже в реаль- ном режиме. В рассмотренном примере для проверки работоспособности системы в этом режиме на экран выводится сообщение ‘Real mode now’ с помощью функции DOS 09h. Для наглядности в сообщение включены Esc последовательности для смены цвета символов и фона (красные символы на зеленом фоне). Осуществлена смена цвета символов и фона может быть лишь в том случае, если в DOS установлен драйвер ANSI.SYS. Если после перехода в реальный режим при установленном драйвере ANSI.SYS сообщение будет выведено без изменения цветов, это может говорить об ошибках защищенного режима. Перед завершением программы, она ожидает ввода с клавиатуры (функция 0 прерывания int 16h), чтобы можно было успеть увидеть содержимое экрана. Программа завершается обычным образом функцией DOS 4Ch. Нормальное завершение программы и переход в DOS тоже в какой-то мере свидетельствует о ее правильности. 37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »