Реферат: DOS-extender для компилятора Borland C++

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]

К-во Просмотров: 674
Бесплатно скачать Реферат: DOS-extender для компилятора Borland C++