User`s guide
1.3.2 Applications and the BDOS
Transient programs and the CCP access CP/M 3 facilities by making BDOS func-
tion calls. BDOS functions can create, delete, open, and close disk files, read or write
to opened files, retrieve input from the console, send output to the console or list
device, and perform a wide range of other services described in Section 3,"BDOS
Functions."
To make a BDOS function call, a transient program loads CPU registers with
specific entry parameters and calls location 0005H in Page Zero. If RSXs are not
active in memory, location 0005H contains a jump instruction to location
BDOS_base + 6. If RSXs are active, location 0005H contains a jump instruction to
an address below BDOS -base. Thus, the Page Zero interface allows programs to run
without regard to where the operating system modules are located in memory. In
addition, transient programs can use the address at location 0006H as a memory
ceiling.
Some BDOS functions are similar to BIOS entry points, particularly in the case of
simple device I/O. For example, when a transient program makes a console output
BDOS function call, the BDOS makes a BIOS console output call. In the case of disk
I/O, however, this relationship is more complex. The BDOS might call many BIOS
entry points to perform a single BDOS file I/O function.
Transient programs can terminate execution by jumping to location OOOOH in the
Page Zero region. This location contains a jump instruction to BIOS base+3, which
contains a jump instruction to the BIOS warm start routine. The BIOS warm start
routine loads the CCP into memory at location 100H and then passes control to it.
The Console Command Processor is a special system program that executes in the
TPA and makes BDOS calls 'ust like an application program. However, the CCP has
a unique role: it gives the user access to operating system facilities while transient
programs are not executing. It includes several built-in commands, such as TYPE and
DIR, that can be executed directly without having to be loaded from disk. When the
CCP receives control, it reads the uscr's command lines, distinguishes between built-
in and transient commands, and when necessary, calls upon the LOADER module to
load transient programs from disk into the TPA for execution. Section 1.6.2 describes
CCP operation in detail.
1-8
1.3 Component Interaction CP/M 3 Programmer's Guide