home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 181.img / TASM-101.ZIP / CHAPXMPL.ARC / IFUNC.ASM < prev    next >
Assembly Source File  |  1989-05-02  |  976b  |  39 lines

  1. ;
  2. ; IFUNC.ASM
  3. ;
  4.      EXTRN   alloc_gstack:FAR              ; alloc_gstack returns
  5.                                            ; pointer to memory block
  6.  
  7. IFUNC STRUC 
  8.    FuncType  DB ?
  9.    Value     DW ?
  10. ENDS
  11.  
  12. IFUNC_TEXT     SEGMENT  WORD PUBLIC 'CODE'
  13.      ASSUME    CS:IFUNC_TEXT
  14.  
  15.      PUBLIC    Makeifunc_0
  16. Makeifunc_0    PROC FAR
  17.      arg       __inval:WORD, __outp:dWORD
  18.      push      bp
  19.      mov       bp,sp
  20.      mov       ax,3                             ;allocate 3 bytes
  21.      push      ax
  22.      call      FAR PTR alloc_gstack
  23.      pop       cx
  24.      les       bx,__outp
  25.      mov       [WORD PTR ES:BX+2],DX
  26.      mov       [WORD PTR ES:BX],AX
  27.      mov       ax,__inval
  28. ;;   les       bx,__outp
  29.      les       bx,[DWORD PTR ES:BX]
  30.      mov       [(IFUNC PTR ES:BX).Value],AX     ;value = __inval
  31.      mov       [(IFUNC PTR ES:BX).FuncType],1   ;type  = 1
  32.      pop       bp
  33.      ret
  34. Makeifunc_0    ENDP
  35. IFUNC_TEXT     ENDS
  36.      END
  37.  
  38.  
  39.