EXTERNAL PGM1,PGM2,PGM3
CALL SDUMP (PGM1,PGM2,PGM3)
This causes variables in PGM1, PGM2, and PGM3 to be printed.
EXTERNAL PGM2,PGM3
CALL SDUMP
CALL SDUMP (PGM2,PGM3)
OPTIONS IN EFFECT: LIST NOMAP NOXREF NOGOSTMT NODECK SOURCE TERM OBJECT FIXED TRMFLG SRCFLG NODDIM NORENT SDUMP(ISN)
NOSXM NOVECTOR IL(DIM) NOTEST SC(*) NODC NOEC NOEMODE NOICA NODIRECTIVE NODBCS NOSAA NOPARALLEL NODYNAMIC NOSYM
NOREORDER NOPC
OPT(0) LANGLVL(77) NOFIPS FLAG(I) HALT(S) AUTODBL(NONE) PTRSIZE(8) LINECOUNT(60) CHARLEN(500) NAME(MAIN#)
IF DO ISN *....*...1.........2.........3.........4.........5.........6.........7.*.......8
1 PROGRAM FORTMAIN
2 EXTERNAL PGM1,PGM2,PGM3
3 INTEGER*4 ANY_INT
4 INTEGER*4 INT_ARR(3)
5 CHARACTER*20 CHAR_VAR
6 ANY_INT = 555
7 INT_ARR(1) = 1111
8 INT_ARR(2) = 2222
9 INT_ARR(3) = 2222
10 CHAR_VAR = 'SAMPLE CONSTANT '
11 CALL PGM1(ANY_INT,CHAR_VAR)
12 CALL SDUMP(PGM1,PGM2,PGM3)
13 STOP
14 END
OPTIONS IN EFFECT: LIST NOMAP NOXREF NOGOSTMT NODECK SOURCE TERM OBJECT FIXED TRMFLG SRCFLG NODDIM NORENT SDUMP(ISN)
NOSXM NOVECTOR IL(DIM) NOTEST SC(*) NODC NOEC NOEMODE NOICA NODIRECTIVE NODBCS NOSAA NOPARALLEL NODYNAMIC NOSYM
NOREORDER NOPC
OPT(0) LANGLVL(77) NOFIPS FLAG(I) HALT(S) AUTODBL(NONE) PTRSIZE(8) LINECOUNT(60) CHARLEN(500) NAME(MAIN#)
IF DO ISN *....*...1.........2.........3.........4.........5.........6.........7.*.......8
1 SUBROUTINE PGM1(ARG1,ARG2)
2 EXTERNAL PGM2,PGM3
3 INTEGER*4 ARG1
4 CHARACTER*20 ARG2
5 ARG1 = 1
6 ARG2 = 'ARGUMENT'
7 CALL PGM2
8 CALL SDUMP
9 CALL SDUMP(PGM2,PGM3)
10 RETURN
11 END
OPTIONS IN EFFECT: LIST NOMAP NOXREF NOGOSTMT NODECK SOURCE TERM OBJECT FIXED TRMFLG SRCFLG NODDIM NORENT SDUMP(ISN)
NOSXM NOVECTOR IL(DIM) NOTEST SC(*) NODC NOEC NOEMODE NOICA NODIRECTIVE NODBCS NOSAA NOPARALLEL NODYNAMIC NOSYM
NOREORDER NOPC
OPT(0) LANGLVL(77) NOFIPS FLAG(I) HALT(S) AUTODBL(NONE) PTRSIZE(8) LINECOUNT(60) CHARLEN(500) NAME(MAIN#)
IF DO ISN *....*...1.........2.........3.........4.........5.........6.........7.*.......8
1 SUBROUTINE PGM2
2 INTEGER*4 PGM2VAR
3 PGM2VAR = 555
4 CALL PGM3
5 RETURN
6 END
OPTIONS IN EFFECT: LIST NOMAP NOXREF NOGOSTMT NODECK SOURCE TERM OBJECT FIXED TRMFLG SRCFLG NODDIM NORENT SDUMP(ISN)
NOSXM NOVECTOR IL(DIM) NOTEST SC(*) NODC NOEC NOEMODE NOICA NODIRECTIVE NODBCS NOSAA NOPARALLEL NODYNAMIC NOSYM
NOREORDER NOPC
OPT(0) LANGLVL(77) NOFIPS FLAG(I) HALT(S) AUTODBL(NONE) PTRSIZE(8) LINECOUNT(60) CHARLEN(500) NAME(MAIN#)
IF DO ISN *....*...1.........2.........3.........4.........5.........6.........7.*.......8
1 SUBROUTINE PGM3
2 CHARACTER*20 PGM3VAR
3 PGM3VAR = 'PGM3 VAR'
4 RETURN
5 END
Figure 3 shows the resulting output generated by the example in Figure 1.
Parameters, Registers, and Variables for Active Routines:
PGM1 (DSA address 06D004C8):
Parameters:
ARG2 CHARACTER*20 ARGUMENT
ARG1 INTEGER*4 1
Local Variables:
Parameters, Registers, and Variables for Active Routines:
PGM2 (DSA address 000930FC):
Parameters:
Local Variables:
PGM2VAR INTEGER*4 555
Parameters, Registers, and Variables for Active Routines:
PGM3 (DSA address 000930FC):
Parameters:
Local Variables:
PGM3VAR CHARACTER*20 PGM3 VAR
Parameters, Registers, and Variables for Active Routines:
PGM1 (DSA address 000930FC):
Parameters:
ARG2 CHARACTER*20 ARGUMENT
ARG1 INTEGER*4 1
Local Variables:
Parameters, Registers, and Variables for Active Routines:
PGM2 (DSA address 000930FC):
Parameters:
Local Variables:
PGM2VAR INTEGER*4 555
Parameters, Registers, and Variables for Active Routines:
PGM3 (DSA address 000930FC):
Parameters:
Local Variables:
PGM3VAR CHARACTER*20 PGM3 VAR