Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!ll-xn!ames!xanth!john
From: john@xanth.UUCP (John Owens)
Newsgroups: comp.edu
Subject: Re: Need Macro Assembler for ULTRIX/UNIX
Message-ID: <1483@xanth.UUCP>
Date: Sat, 4-Jul-87 23:03:02 EDT
Article-I.D.: xanth.1483
Posted: Sat Jul  4 23:03:02 1987
Date-Received: Sun, 5-Jul-87 09:36:30 EDT
References: <8935@bu-cs.BU.EDU> <1068@killer.UUCP>
Distribution: na
Organization: Old Dominion University, Norfolk Va.
Lines: 36

> Frankly, I'd rather see them learn how to write decent programs in a high
> level language than learn the "tricks of the trade". Most assembly language
> programs nowadays will be replacements for parts of a "C" program that were
> too slow, or otherwise something of that nature, where the structure is
> already laid out by the "C" program... learning how to write "structured"
> assembly language under those circumstances is as much an oxymoron as
> "structured Fortran" :-).

> Let the EE guys program the microwave oven microcontrollers, right?

Please, no!  I'd rather not have my food overcooked when I change
power levels in the midst of cooking, or have a timed sequence I
programmed earlier kick in while I'm defrosting something manually,
etc.  It gets much more serious when you start to talk about
industrial arc-welding robots instead of microwave ovens.

I agree that teaching high level languages and principles is most
important, but let's not forget that there are people that will use
assembler, and not as support routines for a C program either.  There
are times when the requirements just won't let you.  Unfortunately,
these are the times when its most critical for the program always to
be in a well-defined state, to not blow up on boundary conditions,
etc.  Structured assembly programming can be quite important.

So, for anyone who is teaching assembly programming, be sure to
stress modular top-down coding, single-entry-single-exit blocks, and
all those wonderful things.  At the least, make sure that your
students code in procedures, with documented names, entry and exit
conditions, registers and global variables modified, etc.  Students
should realize that the principles they are taught do not just apply
to one class of languages, but can be used anywhere.

-- 
John Owens		Old Dominion University - Norfolk, Virginia, USA
john@ODU.EDU		old arpa: john%odu.edu@RELAY.CS.NET
+1 804 440 4529		old uucp: {seismo,harvard,sun,hoptoad}!xanth!john