C:()(), CCall() Function

Purpose

Executes a subroutine at a specified address and returns a 32-bit integer value.

Syntax

x = C:(addr)([parameters])

x = CCall(addr)([parameters])

x, addr:iexp
parameters:aexp

Description

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

Example

Remarks

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.

See Also

LC:(), P:(), LP:(), Call(), CallX(), LCCall(), PasCall(), LPasCall(), StdCall(), LStdCall()

{Created by Sjouke Hamstra; Last updated: 12/05/14 by James Gaite}