DOS-extender для компилятора Borland C++ 3.1
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: решебник по геометрии класс, дипломная работа методика
| Добавил(а) на сайт: Savinkov.
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата
PROC disable_a20 NEAR push ax mov al, A20_PORT out STATUS_PORT, al mov al ,A20_OFF out KBD_PORT_A, al pop ax ret
ENDP disable_a20
; --------------------------------------------------------
; Готовим структуру для загрузки регистра IDTR
; Прототип для вызова функции:
; void load_idtr(unsigned long idt_ptr, word idt_size);
; -----------------------------------------------------------
PROC _load_idtr NEAR push bp
mov bp,sp mov ax,[bp+4] ; мл. слово адреса IDT mov dx,[bp+6] ; ст. слово адреса IDT mov bx, OFFSET idtr
; Запоминаем адрес IDTR в структуре
mov [(idtr_struc bx).idt_low], ax mov [(idtr_struc bx).idt_hi], dl
; Получаем предел IDT и запоминаем его в структуре
mov ax, [bp+8] mov [(idtr_struc bx).idt_len], ax
pop bp ret
ENDP _load_idtr
; -------------------------------
; Установка контроллера прерываний
; ----------------------------------
PROC set_int_ctrlr NEAR
mov al, 11 out dx, al jmp SHORT $+2 mov al, ah inc dx out dx, al jmp SHORT $+2 mov al, 4 out dx, al jmp SHORT $+2 mov al, 1 out dx, al jmp SHORT $+2 mov al, 0ffh out dx, al dec dx ret
ENDP set_int_ctrlr
; -----------------------
; Выдача звукового сигнала
; --------------------------
PROC _beep NEAR
push ax bx cx
in al,KBD_PORT_B push ax mov cx,80
beep0:
push cx and al,11111100b out KBD_PORT_B,al mov cx,60
idle1:
loop idle1 or al,00000010b out KBD_PORT_B,al mov cx,60
idle2:
loop idle2 pop cx loop beep0
pop ax out KBD_PORT_B,al
pop cx bx ax ret
ENDP _beep
Рекомендуем скачать другие рефераты по теме: диплом купить, скачать конспект урока.
Категории:
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата