Example 1
$CALL SUB1, Rls=R13, LS=MY_LINKAGE_SECTION
.BASE R13, MY_LINKAGE_SECTION
$CALL SUB2
$ROUTINE SUB3, KIND=STACK, SAVED_REGS=<R2,FP>
$LINKAGE_SECTION
.QUAD 1
XX:
$CODE_SECTION
MOV R27, R2
$CALL SUB4, R2
.BASE R2, $LS
$CALL SUB5
$CALL SUB6, -
ARGS=<XX/A, R0/Q>, -
SCRATCH_REGS=<R22,R23>
$CALL SUB7, -
ARGS=<1/A,2/A,3/A>
$RETURN
$END_ROUTINE SUB3
Example 2
$CALL FOO, ARGS=<A,B,C,D,E,F,G,H>, STACK_RETURN_VALUE=TRUE
; Fetch octaword return value from stack
LDQ R4, 0(SP) ; low quadword
LDQ R5, 8(SP) ; high quadword
LDA SP, $STACK_ARG_SIZE+16(SP) ; RESET STACK