Functional Information
Register Usage
Structure of DMSNUC
USERSECT(User Area)
The most important thing to remember about CMS, from a debugging standpoint,
is that it is a one-user system. The supervisor manages only one user and keeps
track of only one user's file and storage chains. Thus, everything in a dump of a
particular machine relates only to that virtual machine's activity.
You should be familiar with register usage, save area structuring, and control block
relationships before attempting to debug or alter CMS.
When a CMS routine is called, Rl must point to a valid parameter list (PLIST) for
that program.On return, RO mayor may not contain meaningful information. For'
example, on return from a call to FILEDEF with no change,RO contains a negative
address if a new FCB (File Control Block) has been set up; otherwise, a positive
address of the already existing FCB. R15 contains the return code, if any. The use
of Registers0 and 2 through 11 varies. On entry to a command or routine called by SVC 202 the following are in effect:
Register
1
12
13
14
15
Contents
The address of the PLIST supplied by the caller.
The address entry point of the called routine.
The address of a work area (12 doublewords) supplied by SVCINT.
The return address to the SVCINT routine.
The entry point (same as register 12).On return from a routine, Register 15 contains:
Return
Code
o<0 >0 Meaning
No error occurred
Called routine not found
Error occurred
If a CMS routine is called by anSVC 202, registers 0 through 14 are saved and
restored by CMS.
Most CMS routines use register 12 as a base register.
DMSNUC is the portion of storage in a CMS virtual machine that contains system
control blocks, flags, constants, and pointers.
The CSECTs in DMSNUC contain only symbolic references. This means that an
update or modification to CMS, which changes a CSECT in DMSNUC, does not
automatically force all CMS modules to be recompiled.Only those modules that
refer to the area that was redefined must be recompiled.
The USERSECT CSECT defines space that is not used by CMS. A modification
or update to CMS can use the 18 fullwords defined for USERSECT. There is a
pointer (AUSER) in theNUCON area to the user space.
Functional Information 315
Register Usage
Structure of DMSNUC
USERSECT
The most important thing to remember about CMS, from a debugging standpoint,
is that it is a one-user system. The supervisor manages only one user and keeps
track of only one user's file and storage chains. Thus, everything in a dump of a
particular machine relates only to that virtual machine's activity.
You should be familiar with register usage, save area structuring, and control block
relationships before attempting to debug or alter CMS.
When a CMS routine is called, Rl must point to a valid parameter list (PLIST) for
that program.
example, on return from a call to FILEDEF with no change,
address if a new FCB (File Control Block) has been set up; otherwise, a positive
address of the already existing FCB. R15 contains the return code, if any. The use
of Registers
Register
1
12
13
14
15
Contents
The address of the PLIST supplied by the caller.
The address entry point of the called routine.
The address of a work area (12 doublewords) supplied by SVCINT.
The return address to the SVCINT routine.
The entry point (same as register 12).
Return
Code
o
No error occurred
Called routine not found
Error occurred
If a CMS routine is called by an
restored by CMS.
Most CMS routines use register 12 as a base register.
DMSNUC is the portion of storage in a CMS virtual machine that contains system
control blocks, flags, constants, and pointers.
The CSECTs in DMSNUC contain only symbolic references. This means that an
update or modification to CMS, which changes a CSECT in DMSNUC, does not
automatically force all CMS modules to be recompiled.
refer to the area that was redefined must be recompiled.
The USERSECT CSECT defines space that is not used by CMS. A modification
or update to CMS can use the 18 fullwords defined for USERSECT. There is a
pointer (AUSER) in the
Functional Information 315