Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utcsrgv.UUCP Path: utzoo!utcsrgv!dudek From: dudek@utcsrgv.UUCP (Gregory Dudek) Newsgroups: net.micro.apple Subject: Re. Advice needed on Aztec C: DOS 3.3 code quality. Message-ID: <111@utcsrgv.UUCP> Date: Thu, 18-Oct-84 20:02:17 EDT Article-I.D.: utcsrgv.111 Posted: Thu Oct 18 20:02:17 1984 Date-Received: Thu, 18-Oct-84 20:54:59 EDT References: <459@ittral.UUCP> Organization: CSRI, University of Toronto Lines: 27 Well, I have some experience with Aztec c65 under DOS 3.3 & certainly agree that the compiling is none too fast. Having taken a fairly close look at the code generated, my feeling is that, on the whole, it's pretty good. I feel that it has two serious flaws, however. For one, all arithmetic operations are performed in 16 bits, even if the operands are characters. This means the the only way to get *really* fast code that does a lot of arithmetic is to delete the unneeded extra operations BY HAND from the assembly code. The other deficiency, although this may be intrinsic to the 6502 and not the fault of Manx, is that subroutine linkage taken a whole pile of code, roughly 6-8 instructions per operand passed, plus one subroutine call at either end of the call (caller and callee) [I'm no certain what the called "system" routine does]. Again, it is, unfortunately, impossible to get the compiler to gen. tighter code by using chars since it insists on putting 2 bytes on the stack per operand, no matter what. By the way, using their I/O package also slows things down a LOT. I was helping with some code that really needed fast character output and found that writing special-purpose output routine for the screen made an incredible difference. Despite these objections, I like the system & plan on buying one for my own use at home -- a DOS 3.3 version too. Greg Dudek -- Gregory Dudek {cornell,decvax,ihnp4,linus,utzoo,uw-beaver}!utcsrgv!dudek