User`s guide

Figure 1-8. RSX File Format
RSX files begin with a one page PRL header that specifies the total size of the RSX
prefix and code sections. The PRL bit map is a string of bits identifying those bytes
in the RSX prefix and code sections that require relocation. The PRL format is
described in detail in Appendix B. Note that the PRL header and bit map are removed
when an RSX is loaded into memory. They are only used by the LOADER module
to load the RSX.
The RSX prefix is a standard data structure that the LOADER module uses to
manage RSXs (see Section 4.4). Included in this data structure are jump instructions
to the previous and next RSX in memory, and two flags. The LOADER module
initializes and updates these 'ump instructions to maintain the link from location 6
of Page Zero to the BDOS entry point. The RSX flags are the Remove flag and the
Nonbanked flag. The Remove flag controls RSX removal from memory. The CCP
tests this flag to determine whether or not it should remove the RSX from memory
at system warm start. The nonbanked flag identifies RSXs that are loaded only in
nonbanked CP/M 3 systems. For example, the CP/M 3 RSX, DIRLBL.RSX, is a
nonbanked RSX. It provides BDOS Function 100, Set Directory Label, support for
nonbanked systems only. Banked systems support this function in the BDOS.
The RSX code section contains the main body of the RSX. This section always
begins with code to intercept the BDOS function that is supported by the RSX.
Nonintercepted functions are passed to the next RSX in memory. This section can
also include initialization and termination code that transient programs can call with
BDOS Function 60.
1-25
1.6 System Operation CP/M 3 Programmer's Guide