Date : Wed, 22 Jun 1983 20:56:00 EDT
From : Michael C. Adler <MADLER@mit-ml>
Subject: need information on Aztec C
Aztec C provides an excellent interface to both BIOS/BDOS CP/M calls and
assembly programming. The following calls are defined (taken from release
1.05 manual):
bdos (bc,de)
int bd,de;
Calls the bdos with register pair BC set to bc and DE set to de.
The value returned in HL is the return value.
bios(n,bc,de)
int n,bc,de;
Calls the n'th entry into the bios with BC set to bc and DE set
to de. The returned value is the accumulator contents on return
from the CP/M BIOS. N equal to zero is a warm boot.
bioshl(n,bc,de)
int n,bc,de;
Calls the n'th entry into the bios with BC set to bc and DE set to
de. The returned value is the HL register contents on return from
the CP/M BIOS. N equal to zero is a warm boot.
CPM(bc,de)
int bc,de;
Calls the bdos with register pair BC set to bc and DE set to de.
The value returned in HL is the return value.
Aztec C creates intermediate assembly language code. An intel assembler
(subset of M80) is provided, although it is possible to use M80/L80. So,
interfacing assembly code is rather trivial. Note: Aztec C DOES NOT create
modules that can be bound immediately. It is only capable of generating
assembly code. Hence it can be rather slow to compile (the C compiler alone
is significantly slower than BDS C).
You should also note that it supports a Z80 mode that allows register
variables (8080 version syntax permits register vars. but stores them
in memory). In tight loops you will notice a BIG difference. In 8080
mode, execution speed seems to be similar to BDS C.
-Michael