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