Linking Load Modules



Whilst it may not be apparent from the previous two pages, the process is sequential, starting with the contents of the SYSLIN data set.

This becomes an issue when replacing a statically linked module within a larger load module (program), as the contents of SYSLIN will now be the physical start of the program (load point), which may not actually be the logical start point.

It is time to introduce some control statements which are:

  • ENTRY
  • INCLUDE
  • ALIAS
  • NAME



//L        EXEC PGM=HEWL,
//             PARM='MAP,LET,LIST,NCAL',
//             COND=(8,LT,C)
//SYSLIN   DD  DSN=&&OBJ,DISP=(OLD,DELETE)
//         DD  DDNAME=SYSIN
//SYSLMOD  DD  DISP=SHR,DSN=real.livbrary
//*SYSLMOD  DD  DISP=SHR,DSN=real.library(progname)
//SYSUT1   DD  DSN=&&SYSUT1,
//            SPACE-(1024,(120,120),,,ROUND),
//            UNIT=VIO,DCB=BUFNO=1
//SYSPRINT DD  SYSOUT=*
//MYLIB    DD  DISP=SHR,DSN=program.libarary
//SYSIN    DD  *
  ENTRY   start_point
  INCLUDE MYLIB(mainprog)
  NAME    progname


The ENTRY, INCLUDE and NAME statements will be discussed over the next three pages.

Copyright © Legac-e Education 2015-