Assembly or ....ok

Joel Peter Anderson anderson at ncrcce.StPaul.NCR.COM
Fri Dec 2 01:00:31 AEST 1988


As a user of both high level languages, applications, and assembler I have to 
say that in my work (telecommunications software) even though I use C for
a lot of my work I have to know assembler to 1)figure out why the program is
not behaving as I expected and 2) the best way C generates the best code.  I
learned assembler in college on a Macro11 simulator (no one wanted to trust
us on the mainframe with real machine language, I guess) and found that
somewhat useful.  If I never had to write real assembler it would have been 
enough. (we wrote an assembler in Macro11 and used it to assemble itself).

Actually my own experience with an assembler on my own computer (a VIC20 at the 
time) was far more practical and meaningful when I had to teach myself BAL.

Now to the point: most people don't really need to know the guts of assembler.
They can program Forth, Lisp, BASIC or C and never look inside the box.  On the 
other hand - in order to psychoanalyze the machines (mis)behaviour the mental
model that assembler experience provides (even in simulation) will go a long
way toward lighting the path.   So... How about CoreWar? A nice, fun 
non-threatening assembler.  An interesting HLL programming project (I want to 
write one... maybe in FORTH...) it teaches the basics of machine language,
multi-tasking, the internals of an assembler -PLUS - it has a popular
appeal "learn to write your very own virus!".  :-)

-------------------------------------------------------------------------
"We know only the strong will survive, But the meek will inherit.
 So if you've got a coat of arms, oh friend, I suggest we wear it."
					John Mellencamp.
-------------------------------------------------------------------------
  anderson at c10sd3.StPaul.NCR.COM |UUCP: {rosevax, crash}!orbit!pnet51!jpa
     Joel Peter Anderson         |ARPA: crash!orbit!pnet51!jpa at nosc.mil
  NCR Comten / Software engineer |INET: jpa at pnet51.cts.com
-------------------------------------------------------------------------



More information about the Comp.lang.c mailing list