home *** CD-ROM | disk | FTP | other *** search
- extrn multicast_count: word
- extrn multicast_broad: byte
-
- multicast_filter:
- ;enter with es:di -> packet destination address.
- ;exit with nc if we should receive it, cy if not.
- test byte ptr es:[di],1 ;is this a multicast address?
- je multicast_filter_ok ;no - must be okay to receive.
-
- mov si,offset multicast_broad
- mov dx,multicast_count
- inc dx ;include the broadcast address.
-
- multicast_filter_1:
- mov cx,EADDR_LEN/2 ;compare one address.
- repe cmpsw
- je multicast_filter_ok ;They match - ok to receive.
- add di,cx ;bump di to the next address.
- dec dx
- jne multicast_filter_1
- stc
- ret
- multicast_filter_ok:
- clc
- ret
-