Реферат: Драйвер виртуального диска
je set_size
neg cx ; остаток = 64K - смещение
cmp cx,ax ; буфера
jae set_size ; если остаток меньше счетчика,
mov ax,cx ; то передаем только остаток
; установим количество передаваемых секторов и счетчик передачи
set_size:
mov cx,ax ; счетчик передачи в байтах
shr cx,1 ; преобразуем в счетчик слов
div bpb.bps ; (DX был 0) кол-во секторов
mov request.count,ax ; сохраним счетчик передачи
; загрузим в DS:SI адрес блока в памяти
mov ds,si
xor si,si
; установим направление передачи и вернемся без ошибок
cld
clc
ret
verify ENDP
;
IFDEF DEBUG
INCLUDE biosio.asm
PAGE
;
; ************ КОД И ДАННЫЕ ДЛЯ ОТЛАДКИ *************
;
; Отладочные сообщения
;
NO_COMMAND_msg db 'NO COMMAND',CR,LF,'$'