Подскажите пожалуйста!!! почему при запуске scan_bus неотправляется ARP пакет????
tx_buff dw 0FFFFh, 0FFFFh, 0FFFFh, 940Ch , 6DA4h, 7283h , 0806h
dw 0001h , 0800h , 0604h , 0001h , 940Ch , 6DA4h, 7283h
dw 0C0A8h, 0203h , 0000h , 0000h , 0000h, 0C0A8h, 026Eh
Code:
scan_bus:
mov [ds:pci_bus],0B801h
mov ebx,2
xor ecx,ecx
mov edx,04h
mov esi,2
call pci_read_reg
;меняем значенние регистра
or al, (1 shl 2) or (1 shl 0)
and al, not (1 shl 1)
;Записываем в конфигурацыоное пространство
mov edx,04h
call pci_write_reg
;Сброс сетивого адаптера
mov edx,[ds:pci_bus]
add edx,37h
mov al,1 shl 4
out dx,al
mov cx,1000 ; ждать уже не для сброса
@@:
in al,dx
test al, 1 shl 4
jz @f ; RST остается 1 во время сброса
dec cx
jns @b
mov eax,ecx
@@:
; включение Tx
;mov al,00001100b
mov al,00000100b
mov edx,[ds:pci_bus]
add edx, 37h
out dx, al
;Отправка пакета
lea eax,[tx_buff]
mov edx,[ds:pci_bus]
add edx,20h
out dx,eax
; установите размер и ранний порог
;pop eax ; pick up the size
mov eax,28
add eax, (2 * 6 + 2)
cmp eax, 60h
jnc @f
mov eax, 60h
@@:
or eax, (8 shl 16) or (1 shl 13)
add edx,10h - 20h
out dx, eax
ret