Rev 2983 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2983 | Rev 3155 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;; i8255x (Intel eepro 100) driver for KolibriOS ;; |
6 | ;; i8255x (Intel eepro 100) driver for KolibriOS ;; |
7 | ;; ;; |
7 | ;; ;; |
8 | ;; Written by hidnplayr@kolibrios.org ;; |
8 | ;; Written by hidnplayr@kolibrios.org ;; |
Line 215... | Line 215... | ||
215 | 215 | ||
216 | cmp eax, 0 ;SRV_GETVERSION |
216 | cmp eax, 0 ;SRV_GETVERSION |
Line 217... | Line 217... | ||
217 | jne @F |
217 | jne @F |
218 | 218 | ||
219 | cmp [IOCTL.out_size], 4 |
219 | cmp [IOCTL.out_size], 4 |
220 | jl .fail |
220 | jb .fail |
Line 221... | Line 221... | ||
221 | mov eax, [IOCTL.output] |
221 | mov eax, [IOCTL.output] |
222 | mov [eax], dword API_VERSION |
222 | mov [eax], dword API_VERSION |
Line 228... | Line 228... | ||
228 | @@: |
228 | @@: |
229 | cmp eax, 1 ;SRV_HOOK |
229 | cmp eax, 1 ;SRV_HOOK |
230 | jne .fail |
230 | jne .fail |
Line 231... | Line 231... | ||
231 | 231 | ||
232 | cmp [IOCTL.inp_size], 3 ; Data input must be at least 3 bytes |
232 | cmp [IOCTL.inp_size], 3 ; Data input must be at least 3 bytes |
Line 233... | Line 233... | ||
233 | jl .fail |
233 | jb .fail |
234 | 234 | ||
235 | mov eax, [IOCTL.input] |
235 | mov eax, [IOCTL.input] |
Line 592... | Line 592... | ||
592 | [eax+00]:2,[eax+01]:2,[eax+02]:2,[eax+03]:2,[eax+04]:2,[eax+05]:2,\ |
592 | [eax+00]:2,[eax+01]:2,[eax+02]:2,[eax+03]:2,[eax+04]:2,[eax+05]:2,\ |
593 | [eax+06]:2,[eax+07]:2,[eax+08]:2,[eax+09]:2,[eax+10]:2,[eax+11]:2,\ |
593 | [eax+06]:2,[eax+07]:2,[eax+08]:2,[eax+09]:2,[eax+10]:2,[eax+11]:2,\ |
594 | [eax+13]:2,[eax+12]:2 |
594 | [eax+13]:2,[eax+12]:2 |
Line 595... | Line 595... | ||
595 | 595 | ||
596 | cmp dword [esp+8], 1500 |
596 | cmp dword [esp+8], 1500 |
597 | jg .error ; packet is too long |
597 | ja .error ; packet is too long |
598 | cmp dword [esp+8], 60 |
598 | cmp dword [esp+8], 60 |
Line 599... | Line 599... | ||
599 | jl .error ; packet is too short |
599 | jb .error ; packet is too short |
600 | 600 | ||
601 | set_io 0 |
601 | set_io 0 |
602 | in ax, dx |
602 | in ax, dx |