User`s guide
4. When the CCP successfully opens the command file, it initializes the follow-
ing Page Zero fields for access by the loaded transient program:
0050H Drive that the command file was loaded from
0051H Password address of first file in command tail
0053H Password length of first file in command tail
0054H Password address of second file in command tail
0056H Password length of second file in command tail
005CH Parsed FCB for first file in command tail
006CH Parsed FCB for second file in command tail
0080H Command tail preceded by command tail length
Page Zero initialization is covered in more detail in Section 2.4.
5. At this point, the CCP calls the LOADER module to load the command file
into the TPA. The LOADER module terminates the load operation if a read
error occurs, or if the available TPA space is not large enough to contain the
file. If no RSXs are resident in memory, the available TPA space is deter-
mined by the address LOADER - base because the LOADER cannot load over
itself. Otherwise, the maximum TPA address is determined by the base address
of the lowest RSX in memory.
6. Once the program is loaded, the LOADER module checks for a RSX header
on the program. Programs with RSX headers are identified by a return
instruction at location 100H.
If an RSX header is present, the LOADER relocates all RSXs attached to the
end of the program, to the top of the TPA region of memory under the
LOADER module, or any other RSXs that are already resident. It also updates
the address in location 0006H of Page Zero to address the lowest RSX in
memory. Finally, the LOADER discards the RSX header and relocates the
program file down one page in memory so that the first executable instruc-
tion resides at 100H.
7. After initializing Page Zero, the LOADER module sets up a 32-byte stack
with the return address set to location OOOOH of Page Zero and jumps to
location 100H. At this point, the loaded transient program begins execution.
1-21
1.6 System Operation CP/M 3 Programmer's Guide