INCALL - do an internal B call (no symref).

Usage:

incall routine,tag,ar[,numwords[,stackbump]]

Examples:

incall ,x0,,1
incall local,,sp,2
incall mine,,,2

Where:

routine,tag,ar
represent a standard GMAP address that must be the entry point for a B function.
numwords
is the number of words of arguments the function is to be called with. If this is omitted, the default is zero.
stackbump
is the stack size for the calling function and should not normally be used. If the AUTO and ARGDEF macros have been used properly, the correct value is automatically calculated.

Description:

INCALL is used for calls to B functions whose address must be calculated. It is also used for internal calls within a single module, where the symref generated by the BCALL macro would not be appropriate.

This macro performs the same function as the standard macro BCALL. For further details on the function call, see "expl b bmac bcall".

Approximate equivalent code generated:

*      incall  local,x1,sp,2
       tsx1    local,x1,sp
       zero    .lcl,2

See Also:

expl b bmac bcall
for normal function calls

Copyright © 1996, Thinkage Ltd.