DOS-extender для компилятора Borland C++ 3.1
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: решебник по геометрии класс, дипломная работа методика
| Добавил(а) на сайт: Savinkov.
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата
mov ax,[bp+4] ; мл. слово адреса GDT mov dx,[bp+6] ; ст. слово адреса GDT
mov [gdt_ptr4], dx ; запоминаем адрес GDT mov [gdt_ptr2], ax
; Параметр gdt_size
mov ax,[bp+8] ; получаем размер GDT mov [gdt_ptr], ax ; и запоминаем его
; Параметры cseg и dseg
mov ax,[bp+10d] ; получаем селектор сегмента кода mov dx,[bp+12d] ; получаем селектор сегмента данных mov [cs:p_mode_select], ax ; запоминаем для команды mov [protect_sel], dx ; перехода far jmp
; Подготовка к возврату в реальный режим
push ds ; готовим адрес возврата mov ax,40h ; из защищённого режима mov ds,ax mov [WORD 67h],OFFSET shutdown_return mov [WORD 69h],cs pop ds
; Запрещаем и маскируем все прерывания
cli in al, INT_MASK_PORT and al, 0ffh out INT_MASK_PORT, al
; Записываем код возврата в CMOS-память
mov al,8f out CMOS_PORT,al jmp delay1 delay1: mov al,5 out CMOS_PORT+1,al
call enable_a20 ; открываем линию A20
mov [real_ss],ss ; запоминаем регистры SS и ES mov [real_es],es
; Перепрограммируем контроллер прерываний
; для работы в защищённом режиме
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 ; в защищённый режим
; jmp far flush db 0eah dw OFFSET flush p_mode_select dw ?
LABEL flush FAR
mov dx, [protect_sel] mov ss, dx mov ds, dx mov es, dx
; Обнуляем содержимое регистра LDTR
mov ax, 0 lldt ax
pop bp ret
ENDP _protected_mode
Рекомендуем скачать другие рефераты по теме: диплом купить, скачать конспект урока.
Категории:
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата