Executes a subroutine at a specified address and returns a 32-bit integer value.
x = C:(addr)([parameters])
x = CCall(addr)([parameters])
x, addr:iexp
parameters:aexp
The C:()() and CCall()() functions call a C or an assembler subroutine at address addr%. The parameters are placed in from right to left on the stack. The last parameter is the first on the stack.
C:()() returns with a simple ret instruction. The caller must correct the stack.
The parameters can be coerced to a specific format by preceding the value with one of the following designators:
Dbl: double
Sng: float, single
Large: Large integer
Cur: Currency value
L: Long
Int: Integer
Var: Variant
The stack:
a% = CCall(addr%)(1, 2, 3) or a% = C:(addr%)(1, 2, 3)
12[esp]3
8[esp]2
4[esp]1
[esp]Return address
The routine that is called doesn't correct the stack pointer.
LC:(), P:(), LP:(), Call(), CallX(), LCCall(), PasCall(), LPasCall(), StdCall(), LStdCall()
{Created by Sjouke Hamstra; Last updated: 12/05/14 by James Gaite}