Assembly or ....

Michael Goldman koll at ernie.NECAM.COM
Wed Nov 30 03:04:52 AEST 1988


I have tried it both ways - one project I wrote 90% in C and 10% in ASM
and the next project I tried 100% in C.  (I tried also 100% in ASM, but
we won't go into that ahem, cough, cough :) ).  I need ASM.  When you
are working on drivers or hardware specific items, C (or PASCAL) makes
assumptions about hardware that aren't true, and to do the job in C
requires using such convoluted, obscure code that maintainability and
productivity are gone anyway.  This is just as true for non-time
-critical things such as keyboard handlers as for time-critical things
such as communications handling routines.

There is also the question of what happens when a new machine (like the
IBM PC or MAC, or whatever) comes out and the C compilers for it are
late or terribly buggy, or soooooooooo slow, and there are few if
any utility packages for it ?  Users are used to (and should have !)
crisp, snappy feedback for window manipulation and I/O and it takes
years to get the utility packages (often written in ASM) that will
do that for you. 

Only in the academic world can code be written to be 100% machine
independent.  The rest of us have to struggle with those little quirks
of the chips.

In the old days, you might have needed to know about valves/tubes, now
even the hardware designers only work on the IC level, but us softies
should know about it too for that little weirdness that creeps in on us
from the ICs.

Otherwise, I agree with the arguments for portability, and
maintainability, and productivity over sheer crunch speed.



More information about the Comp.lang.c mailing list