; Define the linkage section psect for routines A & B
$LINK$ = "AB_LINK,NOEXE,OCTA"
$ROUTINE A, KIND=STACK
.BASE R27, $LS
$CALL D ; Linkage pair is stored in A's linkage
; section and put on the assembly-time list
$RETURN
$END_ROUTINE A
$ROUTINE B, KIND=STACK
.BASE R27, $LS
$CALL D ; Linkage pair is found on the list,
; and used from A's linkage section
$RETURN
$END_ROUTINE B
; Define a different linkage section for routine C
$LINK$ = "C_LINK,NOEXE,OCTA"
; Linkage pairs that are on the list are in A & B's linkage
; section, which is not easily accessible by C. Therefore,
; clear the list.
$RESET_LP_LIST
$ROUTINE C, KIND=STACK
.BASE R27, $LS
$CALL D ; Linkage pair is stored in C's linkage
; section and put on the assembly-time list
$RETURN
$END_ROUTINE B