Протоколы Internet


              

Установка начального значения


/p>























POP DI





POP ES





RET



HAVE_SIGNATURE:































































MOV CX, 32



; Установка начального значения счетчика





LEA SI, _PARAM.LINTN



; Устанавливаем указатель списка





MOV AL, 60H



; Задаем начальный номер прерывания



CHOICE:



CMP BYTE PTR [SI], 0







JNE SETDRV







INC AL







LOOP CHOICE









































SETDRV:



MOV AH, 35H







INT 21H







MOV _PARAM.HANDLER.OFFS,BX



; Определяем адрес драйвера





MOV _PARAM.HANDLER.SEGM, ES



































































PUSH DS







POP ES







MOV CX, EADDR_LEN







MOV SI, OFFSET ETHER_ADDR







MOV DI, OFFSET ETHER_BDCST







REPE CMPSB







JE GET_MODE



; Адрес не определен

























































MOV AH, 25



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





MOV DI, offset ETHER_ADDR







MOV CX, EADDR_LEN







call int_pkt







MOV _PARAM.ER_CODE, DX



; Устанавливаем код ошибки





JMP OKAY





GET_MODE:































































































































MOV SAFE, DS



; Спасаем DS





PUSH DS







MOV AH, 2



; Открываем доступ пакетам





MOV AL, 1



; Класс интерфейса





MOV BX, -1



; Тип интерфейса





MOV DL, 0



; Номер интерфейса





MOV CX, 2



; Используем длину type = 2





MOV SI, OFFSET BOGUS_TYPE







PUSH CS



; ES:DI -> Receiver.





POP ES







MOV DI, OFFSET RECEIVER







call INT_PKT







JNC $_$







MOV _PARAM.ER_CODE, DX



; Устанавливаем код ошибки



$_$:



MOV _PARAM.HANDLES, AX



; Записываем указатель-Handle

































































































MOV AH, 6



; Определяем ethernet-адрес интерфейса





PUSH DS







POP ES







MOV DI, offset _PARAM.ETHER_ADR







MOV CX, EADDR_LEN







MOV BX, _PARAM.HANDLES







call int_pkt







JNC NOBAD







MOV _PARAM.ER_CODE, 273



; Ошибка при определении Ethernet-адреса





POP DS







JMP OKAY



<

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





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