Transient Program Execution Models; Cp/M-86 Memory Models - NEC CP/M-86 System Reference Manual

Advanced personal computer
Table of Contents

Advertisement

Command Setup and Execution Under CP / M-86
2-2
For example, a background printer spooler could first be loaded, followed by an
execution ofDDT-S6. DDT-S6 may, in turn, load a test program for a debugging
session and transfer control to the test program between breakpoints. CP/M-S6
keeps track of the order in which programs are loaded and, upon encountering a
CONTROL-C, discontinues execution of the program most recently activated at
the CCP level. In this example, a CONTROL-C at the DDT-86 command level
aborts DDT-S6 and its test program. A second CONTROL-C at the CCP level
aborts the background printer spooler. A third CONTROL-C resets the disk
system.
Note that program abort due to CONTROL-C does not reset the disk system, as is
the case in CP/M-SO. A disk reset does not occur unless the CONTROL-C occurs at
the CCP command input level with no programs residing in memory.
When CP/M-S6 receives a request to load a transient program from the CCP or
another transient program, it checks the program's memory requirements. If suffi-
cient memory is available, CP /M-86 assigns the required amount of memory to the
program and loads it. Once loaded, the program can request additional memory
from the BDOS for buffer space. When the program is terminated, CP/M-S6 frees
both the program memory area and any additional buffer space.
TRANSIENT PROGRAM EXECUTION MODELS
The initial values of the segment registers are determined by the memory model used
by the transient program and described in the CMD file header. The three memory
models are summarized in Table 2-1.
Table 2-1 CP/M-86 Memory Models
MODEL
GROUP RELATIONSHIPS
8080 Model
Code and data groups overlap
Small Model
Independent code and data groups
Compact Model
Three or more independent groups

Advertisement

Table of Contents
loading

Table of Contents