home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / tcpipsrc / foo.asm < prev    next >
Assembly Source File  |  1991-01-31  |  2KB  |  89 lines

  1.     ifndef    ??version
  2. ?debug    macro
  3.     endm
  4.     endif
  5.     ?debug    S "foo.c"
  6. _TEXT    segment    byte public 'CODE'
  7. DGROUP    group    _DATA,_BSS
  8.     assume    cs:_TEXT,ds:DGROUP,ss:DGROUP
  9. _TEXT    ends
  10. _DATA    segment word public 'DATA'
  11. d@    label    byte
  12. d@w    label    word
  13. _DATA    ends
  14. _BSS    segment word public 'BSS'
  15. b@    label    byte
  16. b@w    label    word
  17.     ?debug    C E9513B411605666F6F2E63
  18. _BSS    ends
  19. _TEXT    segment    byte public 'CODE'
  20. ;    ?debug    L 16
  21. _foo    proc    near
  22.     push    bp
  23.     mov    bp,sp
  24. ;    ?debug    L 19
  25.     mov    dx,word ptr [bp+6]
  26.     mov    ax,word ptr [bp+4]
  27.     mov    cl,24
  28.     call    far ptr LXRSH@
  29.     mov    dx,word ptr [bp+6]
  30.     xor    al,dl
  31.     push    ax
  32.     mov    dx,word ptr [bp+6]
  33.     mov    ax,word ptr [bp+4]
  34.     mov    cl,8
  35.     call    far ptr LXRSH@
  36.     pop    dx
  37.     xor    dl,al
  38.     xor    dl,byte ptr [bp+4]
  39.     mov    dh,0
  40.     mov    bx,dx
  41.     shl    bx,1
  42.     mov    ax,word ptr DGROUP:_Hashtab[bx]
  43.     jmp    short @1
  44. @1:
  45. ;    ?debug    L 20
  46.     pop    bp
  47.     ret    
  48. _foo    endp
  49. ;    ?debug    L 24
  50. _oldhash_ip    proc    near
  51.     push    bp
  52.     mov    bp,sp
  53.     sub    sp,2
  54. ;    ?debug    L 29
  55.     mov    ax,word ptr [bp+6]
  56.     mov    word ptr [bp-2],ax
  57. ;    ?debug    L 30
  58.     mov    ax,word ptr [bp+4]
  59.     xor    word ptr [bp-2],ax
  60. ;    ?debug    L 31
  61.     mov    ax,word ptr [bp-2]
  62.     mov    bx,5
  63.     xor    dx,dx
  64.     div    bx
  65.     mov    ax,dx
  66.     jmp    short @2
  67. @2:
  68. ;    ?debug    L 32
  69.     mov    sp,bp
  70.     pop    bp
  71.     ret    
  72. _oldhash_ip    endp
  73. _TEXT    ends
  74. _BSS    segment word public 'BSS'
  75. _Hashtab    label    word
  76.     db    512 dup (?)
  77. _BSS    ends
  78.     ?debug    C E9
  79. _DATA    segment word public 'DATA'
  80. s@    label    byte
  81. _DATA    ends
  82.     extrn    LXRSH@:far
  83. _TEXT    segment    byte public 'CODE'
  84. _TEXT    ends
  85.     public    _oldhash_ip
  86.     public    _Hashtab
  87.     public    _foo
  88.     end
  89.