MS-COMREG - Replacement of the Cortex-MS

and MVS-MS COMREG Simulation



MVS/ESA, OS/390 and z/OS installations sometimes run applications converted from VSE many years ago using the Cortex Migration System (Cortex-MS) or its IBM equivalent, MVS-MS. Due to the default options set during the installation of the Cortex-MS and MVS-MS software, instructions used by application programs to retrieve the system date (such as MOVE CURRENT-DATE or ACCEPT FROM DATE in DOS/VS COBOL) have been replaced with CALL instructions. These CALL instructions invoke CORTEX-ENV or MVS-MS-ENV modules and macro instructions, namely CZXINI CZXINIC CZXDATE CZXDATEP CZXDATEC CZXDATEJ CZXYEAR CZXDATEL CZXDATEM CZXCRG CZXMRG and CZXRGM which, in turn, invoke CZX3PINI, CZX3MCRG, CZX3MCSA, CZX3PCSA, CZX3PIPL and CZX3JIPL.

The CZX3Pxxx COMREG-simulation routines use unprotected storage in the MVS Common Storage Area (CSA), an unfortunate design known to have caused operational and security issues in the MVS data centers that use it. This is unfortunate, because using the Common Storage Area is only required to pass COMREG information from one step to the next, which most applications do not need. In other words, most applications use the CORTEX-ENV or MVS-MS-ENV COMREG simulation only as a result of poorly-chosen default parameters during software installation. For all these reasons, removing COMREG-simulation routines from their applications is a goal many MVS sites are seriously considering.

MS-COMREG is a set of utility programs to remove the Cortex-MS or MVS-MS COMREG-simulation modules and replace them with native COBOL or assembler instructions. As an alternative, the Cortex-MS or MVS-MS COMREG-simulation modules may be replaced with a simulation routine which does not use the CSA.

MS-COMREG includes the following components:

  1. SCANPDS to identify programs and load-modules which use the Cortex-MS or MVS-MS COMREG-simulation.
  2. LOADXREF to generate link-edit control statements to replace Cortex-MS or MVS-MS COMREG-simulation routines.
  3. LCPCBL to edit COBOL programs and replace CALL statements with native COBOL code.
  4. GSF3PINI, a replacement module for CZX3PINI and its entry points.
  5. CZX3MCRG, a COMRG replacement macro-instruction for assembler programs.
  6. CZX3PCSA, a replacement module which does not use the Common Storage Area and does not require CZX3PIPL.

For more information on MS-COMREG, please contact us.

For some background information on our vast Cortex-MS expertise, please click here.


Cortex-MSTM was developed by SISRO from 1974 to 1984 and is currently owned by the Allen Systems Group (ASG) which stopped distributing it in 2008. From 1986 to 1997, Cortex-MS was distributed by IBM under the name MVS-MS (MVS Migration System).