Base Page Initialization - NEC CP/M-86 System Reference Manual

Advanced personal computer
Table of Contents

Advertisement

Command Setup and Execution Under CPIM-86
The following ASM-86 example shows how to code a Compact Model transient
program.
cseg
(code)
dseg
org
100h
(data)
eseg
(more data)
sseg
(stack area)
end
Base Page Initialization
As in CP/M-80, the CP/M-86 base page contains default values and locations
initialized by the CCP and used by the transient program. The base page occupies
the regions from offset OOOOH through OOFFH relative to the DS register. The
values in the base page for CP/M-86 include those of CP/M-80 and appear in the
same relative positions, as shown in Figure 2-4.
Each byte is indexed by 0,
I,
and 2, corresponding to the standard Intel storage
convention of low, middle, and high-order (most significant) byte. In Figure 2-4,
"xxx" marks unused bytes. LC is the last code group location (24 bits, where the 4
high-order bits equal zero).
In the 8080 Model, the low order bytes of LC (LCO and LC 1) never exceed OFFFFH
and the high order byte (LC2) is always zero. BC is the base paragraph address of
the code group (16-bits). LD and BD provide the last position and paragraph base
of the data group. The last position is one byte less than the group length. Note that
bytes LDO and LD 1 appear in the same relative positions of the base page in both
CP /M-80 and CP /M-86, thus easing the program translation task. The M80 byte is
equal to 1 for the 8080 Model. LE and BE provide the length and paragraph base of
the optional extra group, while LS and BS give the optional stack group length and
base. The bytes marked LX and BX correspond to a set of four optional, independ-
ent groups which may be required for programs that execute using the Compact
Model. The initial values for these descriptors are derived from the header record in
the memory image file, described in Chapter 3.
2-7

Advertisement

Table of Contents
loading

Table of Contents