home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / mag&info / msjv7_4.zip / NETBIOS2.ARJ / WNETBIOS.ASM < prev    next >
Assembly Source File  |  1992-07-01  |  6KB  |  346 lines

  1. ;    Static Name Aliases
  2. ;
  3.     TITLE   wnetbios.c
  4.     .8087
  5. INCLUDELIB    SLIBCE
  6. _TEXT    SEGMENT  WORD PUBLIC 'CODE'
  7. _TEXT    ENDS
  8. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  9. _DATA    ENDS
  10. CONST    SEGMENT  WORD PUBLIC 'CONST'
  11. CONST    ENDS
  12. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  13. _BSS    ENDS
  14. $$SYMBOLS    SEGMENT  BYTE PUBLIC 'DEBSYM'
  15. $$SYMBOLS    ENDS
  16. $$TYPES    SEGMENT  BYTE PUBLIC 'DEBTYP'
  17. $$TYPES    ENDS
  18. DGROUP    GROUP    CONST, _BSS, _DATA
  19.     ASSUME DS: DGROUP, SS: DGROUP
  20. PUBLIC  _TableEntriesUsed
  21. PUBLIC  _NcbTablePtr
  22. EXTRN    NETBIOSREQUEST:FAR
  23. EXTRN    POSTMESSAGE:FAR
  24. _BSS      SEGMENT
  25. COMM NEAR    _NcbTable:     8:     12
  26. _BSS      ENDS
  27. EXTRN    _PrivPostRoutine:DWORD
  28. _DATA      SEGMENT
  29. _TableEntriesUsed    DW    00H
  30. _NcbTablePtr    DD    DGROUP:_NcbTable
  31. _DATA      ENDS
  32. _TEXT      SEGMENT
  33.     ASSUME    CS: _TEXT
  34. ; Line 1
  35. ; Line 13
  36. ; Line 14
  37. ; Line 15
  38. ; Line 60
  39.     PUBLIC    LIBMAIN
  40. LIBMAIN    PROC FAR
  41.     push    ds
  42.     pop    ax
  43.     nop    
  44.     inc    bp
  45.     push    bp
  46.     mov    bp,sp
  47.     push    ds
  48.     mov    ds,ax
  49.     ASSUME DS: NOTHING
  50.     sub    sp,6
  51. ;    p = -6
  52. ;    hModule = 14
  53. ;    wDataSeg = 12
  54. ;    cbHeapSize = 10
  55. ;    lpszCmdLine = 6
  56. ; Line 69
  57.     mov    WORD PTR [bp-6],OFFSET DGROUP:_NcbTable    ;p
  58.     mov    WORD PTR [bp-4],ds
  59.     jmp    SHORT $F954
  60. $FC955:
  61.     inc    WORD PTR [bp-6]    ;p
  62. $F954:
  63.     mov    ax,OFFSET DGROUP:_NcbTable+96
  64.     mov    cx,ds
  65.     cmp    ax,WORD PTR [bp-6]    ;p
  66.     jne    $L20000
  67.     cmp    cx,WORD PTR [bp-4]
  68.     je    $FB956
  69. $L20000:
  70. ; Line 70
  71. ; Line 71
  72.     les    bx,DWORD PTR [bp-6]    ;p
  73.     mov    BYTE PTR es:[bx],0
  74. ; Line 72
  75.     jmp    SHORT $FC955
  76. $FB956:
  77. ; Line 74
  78.     mov    ax,1
  79. ; Line 75
  80.     dec    bp
  81.     dec    bp
  82.     mov    sp,bp
  83.     pop    ds
  84.     pop    bp
  85.     dec    bp
  86.     ret    10
  87.  
  88. LIBMAIN    ENDP
  89. ; Line 84
  90.     PUBLIC    WEP
  91. WEP    PROC FAR
  92.     push    ds
  93.     pop    ax
  94.     nop    
  95.     inc    bp
  96.     push    bp
  97.     mov    bp,sp
  98.     push    ds
  99.     mov    ds,ax
  100.     ASSUME DS: NOTHING
  101. ;    bSystemExit = 6
  102. ; Line 85
  103.     mov    ax,1
  104. ; Line 86
  105.     dec    bp
  106.     dec    bp
  107.     mov    sp,bp
  108.     pop    ds
  109.     pop    bp
  110.     dec    bp
  111.     ret    2
  112.  
  113. WEP    ENDP
  114. ; Line 96
  115.     PUBLIC    NETBIOSPOSTMESSAGE
  116. NETBIOSPOSTMESSAGE    PROC FAR
  117.     push    ds
  118.     pop    ax
  119.     nop    
  120.     inc    bp
  121.     push    bp
  122.     mov    bp,sp
  123.     push    ds
  124.     mov    ds,ax
  125.     ASSUME DS: NOTHING
  126.     sub    sp,8
  127.     push    di
  128.     push    si
  129. ;    err = -4
  130. ;    hWnd = 14
  131. ;    iMessage = 12
  132. ;    wParam = 10
  133. ;    pNcb = 6
  134. ; Line 103
  135.     les    bx,DWORD PTR [bp+6]    ;pNcb
  136.     test    BYTE PTR es:[bx],128
  137.     je    $L20004
  138.     test    BYTE PTR [bp+10],2    ;wParam
  139.     jne    $L20003
  140. ; Line 104
  141. ;    p = -8
  142. ; Line 107
  143. $L20004:
  144.     jmp    $I966
  145. $L20003:
  146.     cmp    WORD PTR _TableEntriesUsed,12
  147.     jne    $I968
  148. ; Line 108
  149. ; Line 109
  150.     mov    ax,-1
  151.     jmp    $EX964
  152. ; Line 110
  153. ; Line 115
  154. $I968:
  155.     mov    WORD PTR [bp-8],OFFSET DGROUP:_NcbTable    ;p
  156.     mov    WORD PTR [bp-6],ds
  157.     jmp    SHORT $F969
  158. $FC970:
  159.     add    WORD PTR [bp-8],8    ;p
  160. $F969:
  161.     les    bx,DWORD PTR [bp-8]    ;p
  162.     mov    ax,WORD PTR es:[bx+2]
  163.     or    ax,WORD PTR es:[bx]
  164.     jne    $FC970
  165. ; Line 120
  166.     mov    ax,WORD PTR [bp+6]    ;pNcb
  167.     mov    dx,WORD PTR [bp+8]
  168.     mov    WORD PTR es:[bx],ax
  169.     mov    WORD PTR es:[bx+2],dx
  170. ; Line 121
  171.     mov    cx,WORD PTR [bp+14]    ;hWnd
  172.     mov    WORD PTR es:[bx+4],cx
  173. ; Line 122
  174.     mov    si,WORD PTR [bp+12]    ;iMessage
  175.     mov    WORD PTR es:[bx+6],si
  176. ; Line 126
  177.     mov    es,dx
  178.     mov    bx,ax
  179.     mov    ax,WORD PTR _PrivPostRoutine
  180.     mov    dx,WORD PTR _PrivPostRoutine+2
  181.     mov    WORD PTR es:[bx+44],ax
  182.     mov    WORD PTR es:[bx+46],dx
  183. ; Line 137
  184.     push    es
  185.     push    bx
  186.     mov    di,cx
  187.     call    FAR PTR NETBIOSREQUEST
  188.     mov    WORD PTR [bp-4],ax    ;err
  189.     cmp    ax,255
  190.     je    $I972
  191. ; Line 138
  192. ; Line 143
  193.     les    bx,DWORD PTR [bp-8]    ;p
  194.     sub    ax,ax
  195.     mov    WORD PTR es:[bx+2],ax
  196.     mov    WORD PTR es:[bx],ax
  197. ; Line 145
  198.     push    di
  199.     push    si
  200. $L20002:
  201.     les    bx,DWORD PTR [bp+6]    ;pNcb
  202.     mov    al,BYTE PTR es:[bx]
  203.     sub    ah,ah
  204.     push    ax
  205.     push    es
  206.     push    bx
  207.     call    FAR PTR POSTMESSAGE
  208. ; Line 146
  209. ; Line 147
  210.     jmp    SHORT $I973
  211. $I972:
  212. ; Line 148
  213. ; Line 149
  214.     inc    WORD PTR _TableEntriesUsed
  215. ; Line 150
  216. $I973:
  217. ; Line 152
  218.     mov    ax,WORD PTR [bp-4]    ;err
  219.     jmp    SHORT $EX964
  220. ; Line 153
  221. ; Line 159
  222. $I966:
  223.     push    es
  224.     push    bx
  225.     call    FAR PTR NETBIOSREQUEST
  226.     mov    WORD PTR [bp-4],ax    ;err
  227. ; Line 162
  228.     test    BYTE PTR [bp+10],1    ;wParam
  229.     je    $I973
  230. ; Line 163
  231. ; Line 164
  232.     push    WORD PTR [bp+14]    ;hWnd
  233.     push    WORD PTR [bp+12]    ;iMessage
  234.     jmp    SHORT $L20002
  235. ; Line 168
  236. $EX964:
  237.     pop    si
  238.     pop    di
  239.     dec    bp
  240.     dec    bp
  241.     mov    sp,bp
  242.     pop    ds
  243.     pop    bp
  244.     dec    bp
  245.     ret    10
  246.  
  247. NETBIOSPOSTMESSAGE    ENDP
  248. ; Line 189
  249.     PUBLIC    _PostRoutine
  250. _PostRoutine    PROC FAR
  251.     push    ax
  252.     push    cx
  253.     push    dx
  254.     push    bx
  255.     push    sp
  256.     push    bp
  257.     push    si
  258.     push    di
  259.     push    ds
  260.     push    es
  261.     mov    bp,sp
  262.     sub    sp,8
  263.     mov    ax,DGROUP
  264.     mov    ds,ax
  265.     ASSUME DS: DGROUP
  266.     cld    
  267. ;    pncb = -6
  268. ;    i = -8
  269. ;    flags = 24
  270. ;    cs = 22
  271. ;    ip = 20
  272. ;    ax = 18
  273. ;    cx = 16
  274. ;    dx = 14
  275. ;    bx = 12
  276. ;    sp = 10
  277. ;    bp = 8
  278. ;    si = 6
  279. ;    di = 4
  280. ;    ds = 2
  281. ;    es = 0
  282. ; Line 195
  283.     mov    ax,WORD PTR [bp]    ;es
  284.     mov    cx,WORD PTR [bp+12]    ;bx
  285.     mov    WORD PTR [bp-6],cx    ;pncb
  286.     mov    WORD PTR [bp-4],ax
  287. ; Line 199
  288.     mov    WORD PTR [bp-8],0    ;i
  289.     jmp    SHORT $F991
  290. ; Line 212
  291. ; Line 213
  292. $FC992:
  293.     inc    WORD PTR [bp-8]    ;i
  294. $F991:
  295.     mov    ax,WORD PTR [bp-8]    ;i
  296.     cmp    WORD PTR _TableEntriesUsed,ax
  297.     jbe    $FB993
  298. ; Line 200
  299.     mov    bx,ax
  300.     mov    cl,3
  301.     shl    bx,cl
  302.     les    si,DWORD PTR _NcbTablePtr
  303.     mov    ax,WORD PTR [bp-6]    ;pncb
  304.     mov    dx,WORD PTR [bp-4]
  305.     cmp    WORD PTR es:[bx][si],ax
  306.     jne    $FC992
  307.     cmp    WORD PTR es:[bx+2][si],dx
  308.     jne    $FC992
  309. ; Line 201
  310. ; Line 204
  311.     dec    WORD PTR _TableEntriesUsed
  312. ; Line 205
  313.     sub    cx,cx
  314.     mov    WORD PTR es:[bx+2][si],cx
  315.     mov    WORD PTR es:[bx][si],cx
  316. ; Line 210
  317.     add    bx,si
  318.     push    WORD PTR es:[bx+4]
  319.     push    WORD PTR es:[bx+6]
  320.     mov    es,dx
  321.     mov    bx,ax
  322.     mov    cl,BYTE PTR es:[bx]
  323.     sub    ch,ch
  324.     push    cx
  325.     push    dx
  326.     push    ax
  327.     call    FAR PTR POSTMESSAGE
  328. ; Line 211
  329. $FB993:
  330.     mov    sp,bp
  331.     pop    es
  332.     pop    ds
  333.     pop    di
  334.     pop    si
  335.     pop    bp
  336.     pop    bx
  337.     pop    bx
  338.     pop    dx
  339.     pop    cx
  340.     pop    ax
  341.     iret    
  342.  
  343. _PostRoutine    ENDP
  344. _TEXT    ENDS
  345. END
  346.