Протоколы Internet

         

Формирование указателя на список номеров


.CODE























PUBLIC



_INFACE



_INFACE



PROC



NEAR

















































































CLD







MOV DFLAG, 0



; Очистка флага драйвера





MOV _PARAM.ER_CODE, 0



; Очистка флага ошибки





PUSH BP



; Спасение регистров





MOV BP, SP







PUSH SI







PUSH DI







PUSH ES







PUSH DS



















































































































MOV CX, 32







MOV AL, 60H



; Установка начального номера прерывания





LEA SI, _PARAM.LINTN



; Формирование указателя на список номеров прерывания



CHECK:



PUSH AX







PUSH CX







PUSH SI







CALL CHK_INT







POP SI







POP CX







MOV byte ptr [SI], 0 ;







JNE NO_SIGNATURE







INC DFLAG



; Установка флага <Это драйвер>





MOV BYTE PTR [SI], 1



; Установка флага наличия



NO_SIGNATURE:







































POP AX







INC AL



; Следующий номер прерывания





INC SI



; Актуализация указателя





LOOP CHECK











































CMP DFLAG, 0



; Драйвер присутствует?





JNE HAVE_SIGNATURE







MOV _PARAM.ER_CODE, 271



; Установка флага <No signature>





JMP OKAY





INT_PKT:











































PUSH ES





pushf





cli





call _PARAM.HANDLER





POP ES





RET























CHK_INT:



PUSH ES



; AL = номер прерывания





PUSH DI



























MOV AH, 35H



; Получение вектора прерывания





INT 21H



; ES:BX=seg:offs драйвера

























































MOV _PARAM.HANDLER.OFFS,BX



; Записываем адрес драйвера





MOV _PARAM.HANDLER.SEGM, ES







LEA DI, 3[BX]



; Устанавливаем смещение сигнатуры драйвера





MOV SI, OFFSET SIGNATURE



; Проверка сигнатуры драйвера





MOV CX, SIGNATURE_LEN



; Присутствует ли здесь драйвер?





REPE CMPSB ; DS:[SI] - ES:[DI]



<

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий