DOS-extender для компилятора Borland C++
Категория реферата: Рефераты по информатике, программированию
Теги реферата: бесплатные тесты бесплатно, реферат принципы
Добавил(а) на сайт: Шаломенцев.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Остальные действия, необходимые для перехода в защищенный режим, описаны в функции protected_mode() модуля TOSSYST.ASM:
Обеспечение возможности возврата в реальный режим:
push ds ; готовим адрес возврата
mov ax,40h ; из защищённого режима
mov ds,ax
mov [WORD 67h],OFFSET shutdown_return
mov [WORD 69h],cs
pop ds
Запрет прерываний:
сli
in al, INT_MASK_PORT
and al, 0ffh
out INT_MASK_PORT, al
mov al,8f
out CMOS_PORT,al
Открытие линии A20 производится вызовом функции enable_a20(), описанной в файле TOSSYST.ASM:
PROC enable_a20 NEAR
mov al,A20_PORT
out STATUS_PORT,al
mov al,A20_ON
out KBD_PORT_A,al
ret
ENDP enable_a20
Запоминаем содержимое сегментных регистров SS и ES:
mov [real_ss],ss
mov [real_es],es
Программируем при помощи функции set_int_ctrlr(), описанной в файле TOSSYST.ASM каскад контроллеров прерываний (Master и Slave) для работы в защищенном режиме (описание работы прерываний в защищенном режиме приведено ниже):
mov dx,MASTER8259A
mov ah,20
call set_int_ctrlr
mov dx,SLAVE8259A
mov ah,28
call set_int_ctrlr
Загружаем регистры IDTR и GDTR:
lidt [FWORD idtr]
lgdt [QWORD gdt_ptr]
И, напоследок, переключаем процессор в защищенный режим:
mov ax, 0001h
lmsw ax
3.3 Возврат в реальный режим процессора.
Для того, чтобы вернуть процессор 80286 из защищённого режима в реальный, необходимо выполнить аппаратный сброс (отключение) процессора. Это реализуется в функции real_mode(), описанной в файле TOSSYST.ASM:
PROC _real_mode NEAR
; Сброс процессора
cli
Рекомендуем скачать другие рефераты по теме: реферат основные, диплом купить.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата