Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!seismo!hao!hplabs!sri-unix!MADLER@mit-ml From: MADLER%mit-ml@sri-unix.UUCP Newsgroups: net.micro.cpm Subject: need information on Aztec C Message-ID: <2435@sri-arpa.UUCP> Date: Wed, 22-Jun-83 20:56:00 EDT Article-I.D.: sri-arpa.2435 Posted: Wed Jun 22 20:56:00 1983 Date-Received: Sat, 25-Jun-83 00:00:29 EDT Lines: 42 From: Michael C. AdlerAztec 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