User`s guide

The banked version of CP/M 3 requires a minimum of two banks, Bank 0 and
Bank 1, and can support up to 16 banks of memory. Bank numbers are generally
arbitrary with the following exceptions: Bank 0 is the system bank and is in context
when CP/M 3 is started. Bank 1 is the transient program bank, and must be contig-
uous from location zero to the top of banked memory. This requirement does not
apply to the other banks. However, common memory must be contiguous.
The size of the common region is typically 16K. The only size requirement on the
common region is that it must be large enough to contain the resident portion of the
operating system. The maximum top of memory address for both banked and non-
banked systems is 64K-1 (OFFFFH).
In summary, no matter how physical memory is configured, or whether the oper-
ating system is banked or nonbanked, CP/M 3 always organizes memory logically so
that to a transient program in any CP/M 3 system, memory appears as shown in
Figure 1-4.
1.2 System Components
Functionally, the CP/M 3 operating system is composed of distinct modules. Tran-
sient programs can communicate with these modules to request system services. Fig-
ure 1-5 shows the regions where these modules reside in logical memory. Note that
from the transient program's perspective, Figure 1-5 is just a more detailed version
of Figure 1-4.
1-5
1.1 Baked/Nonbanked Organization CP/M 3 Programmer's Guide