Драйвер виртуального диска
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: новшество, доклад
| Добавил(а) на сайт: Bukovski.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
; ============ ПРОГРАММА СТРАТЕГИЙ =============
;
STRATEGY PROC FAR mov cs:word ptr [reg_ptr],bx mov cs:word ptr [reg_ptr+2],es ret strategy ENDP
;
; ============ ПРОГРАММА ПРЕРЫВАНИЙ ===============
;
INTERRUPT PROC FAR push ax ; сохранить все рабочие push cx ; регистры push dx push bx push bp push si push di push ds push es
; push cs ; определим локальный сегмент pop ds ; данных
; mov word ptr save_ss,ss ; сохраним входное mov word ptr save_sp,sp ; значение SS и SP
; mov bx,cs ; установим локальный mov ax,offset local_stack - 2 ; стек mov ss,bx mov sp,ax
; les di,[req_ptr] ; получить адрес блока mov bl,request.command ; запроса и команду
;
; установим заранее код ошибки на случай если команда неверная
; mov ax,(ST_ERROR OR UNKNOWN_COMMAND) cmp bl,[max_cmd] ; команда поддерживается ? ja exit ; нет - отвергаем ее
;
; Выдаем указанную команду на выполнение соответствующему обработчику.
; Каждый обработчик получает управление с CS и DS установленными на
; сегмент драйвера и ES:DI указывающем на блок запроса. Свой статус
; обработчики возвращают в регистре AX.
; xor bh,bh ; BX - индекс в таблице shl bx,1 ; команд
IFDEF DEBUG call print_command ; выдаем имя обрабатываемой
ENDIF ; команды call word ptr jumptab[bx] ; вызываем обработчик
;
; Перешлем статус из регистра AX в слово состояния блока запроса
; exit: push cs ; установка локального pop ds ; сегмента данных
Рекомендуем скачать другие рефераты по теме: реферат на тему здоровье, курсовик.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата