P-Code Instructions (pcode.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Callifc<t>
                                              Up Contents Index Back
──P-Code Instructions───────────────────────────────────────────────────────
 
  Syntax
 
  Callifc<t>
 
  /* Indirect call to __far __cdecl function with return type <t> */
 
  Possible Instructions
 
  CallifcV, CallifcW, CallifcL
 
  See: P-Code Data Types
 
  Description
 
  Perform indirect calls to __far __cdecl functions. The address of the
  function is the long value on the top of the stack. The address must
  refer to either a native function or a p-code function with a native
  entry code sequence.
 
  The function is assumed to return an item of length <t>. The end
  processing of the call instruction will push the return value onto the
  stack.
 
  The instruction must be followed by an additional byte containing the
  number of words of parameters that were pushed onto the stack for this
  call. They will be popped off by the interpreter when it processes the
  end of the call instruction.
 
  Pseudocode equivalent:
 
  lpfn = PopL(); (V|L|W) = (*lpfn)();  // V=void, W=word, L=long
  push(V|L|W);
 
  The instruction is generated by a code sequence like the following:
 
  <t> = (*foo)(10);   /* generates a Callifc<t> */
 
 
                                     -♦-