[net.micro] VIC20 assembly lang.

mlsmith@NADC.ARPA (07/16/84)

gram I was writing,(heavy on tables) I decided to use assembly
language. While I do not regret using it, knowledge of it did not help on
later machines. BASIC on the other hand changes from machine to machine, BUT
subtle changes. Knowledge of one BASIC is an aid in mastering a new version.

					Nuff Said?
					mlsmith@nadc.ARPA

GMeredith.ES@XEROX.ARPA@sri-unix.UUCP (07/19/84)

How about another two cents worth?  I am vastly more interested in the
total control the assembly coder (microcoder) has than in the less
optimal, 'easy-to-use' 'higher level' languages, but...

Firstly, *everybody* does not want to code in assembly (or, in some
cases, microcode).  A very large body of people who fall into the
general catagory of 'programer' would much rather let someone else's
program (read higher level language) take care of keeping track of
registers, accumulators, etc.  They are not interested in spending time
or effort in optimizing routines for either speed or memory use in a
particular machine, but rather are content with using a single
standardized tool which is 'portable'.  If the system offers enough
speed and memory to allow for less than optimal (sloppy?) coding, the
average person will go that route.  Although the compiled object code
from higher level languages is assembly language, it is seldom as tight
as can be done by writing the assembly code directly.

Documentation is a difficult item in assmebly coding, particularly if
the code is optimized using cute tricks inherent in the particular
machine's operation rather than straight forward code.  That sort of
thing *can* actually require a page of documentation for a particular
short section.  On the other hand, I've seen programs in higher-level
'self-documenting' languages that were extremely hard to follow because
the writer decided to get cute with types, etc., or just didn't bother
to pick easily understood labels.  Among the few things I've bothered to
read in BASIC (mostly 'way back in Kilobaud, etc.) I've found a
disappointing number of items which were difficult to follow simply
because of the very sloppy, unorganized nature of the writer's approach.

Assembly languages are, of course, unique for each processer which means
the writer has to learn each instruction set and be aware of the
particular architecture.  I don't agree that a knowledge of one
machine's assembly coding does not help learn another.  The basic
concepts and program structures are consistent from one machine to
another, though the methods used in implementation vary according to the
architecture:  I find an awareness of the differences to be helpfull in
finding ways to optimize code. 

Lastly, I find myself getting frustrated by trying to figure out how to
use someone else's program (language) and get around what they thought a
good selection of tools and such to do what I want.

Guy

"REAL programers use assembly code (or microcode)."