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










