VMS Help  —  MACRO  /ALPHA  Supplied Library Macros, $CALL  Examples
      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
Close Help