<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>