home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c081_11 / 9.ddi / CHAPXMPL.ZIP / IFUNC.ASM < prev    next >
Encoding:
Assembly Source File  |  1991-02-13  |  1.1 KB  |  42 lines

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