KolibriOS kernel
proc32.inc File Reference

Macros

#define stdcall(proc, arg)
 Directly call STDCALL procedure. More...
 
#define invoke(proc, arg)
 Indirectly call STDCALL procedure. More...
 
#define ccall(proc, arg)
 Directly call CDECL procedure. More...
 
#define cinvoke(proc, arg)
 Indirectly call CDECL procedure. More...
 
#define proc(args)
 Define a procedure.
Calling convention for the procedure may be defined before parameter list using stdcall or c word like this:
proc name stdcall, param0, param1
List of registers used in the procedure may be specified before parameter list using uses word like this:
proc name uses eax ebx ecx, param0, param1
If you need to specify both calling convention and used registers put calling convention first and then uses statement like this:
proc name stdcall uses ebx ecx edx, param0, param1
The defined procedure should be ended using endp macro. More...
 
#define endp
 Mark the end of a procedure created by proc macro. More...
 
#define local(var)
 

Variables

label struc
 

Macro Definition Documentation

◆ ccall

#define ccall (   proc,
  arg 
)

Directly call CDECL procedure.

Parameters
procCallee name
argArguments to pass
Source
proc32.inc:31

◆ cinvoke

#define cinvoke (   proc,
  arg 
)

Indirectly call CDECL procedure.

Parameters
procCallee name
argArguments to pass
Source
proc32.inc:48

◆ endp

#define endp

Mark the end of a procedure created by proc macro.

Source
proc32.inc:260

◆ invoke

#define invoke (   proc,
  arg 
)

Indirectly call STDCALL procedure.

Parameters
procCallee name
argArguments to pass
Source
proc32.inc:19

◆ local

#define local (   var)

◆ proc

#define proc (   args)

Define a procedure.
Calling convention for the procedure may be defined before parameter list using stdcall or c word like this:
proc name stdcall, param0, param1
List of registers used in the procedure may be specified before parameter list using uses word like this:
proc name uses eax ebx ecx, param0, param1
If you need to specify both calling convention and used registers put calling convention first and then uses statement like this:
proc name stdcall uses ebx ecx edx, param0, param1
The defined procedure should be ended using endp macro.

Parameters
argsName of the procedure and a comma-separated argument list. Type of any parameter may be specified by semicolon after its name like this:
proc name param0:dword, param1:qword.
Source
proc32.inc:77

◆ stdcall

#define stdcall (   proc,
  arg 
)

Directly call STDCALL procedure.

Parameters
procCallee name
argArguments to pass
Source
proc32.inc:7

Variable Documentation

◆ struc

label struc
Initial value
type { label . type }
Source
proc32.inc:226