I just received a copy of Introduction to DECsystem-10 Assembler
Language Programming
by Michael Singer, published in 1978 by John Wiley ISBN : 0-471-03458-4
I would like to share some excerpts from the preface which resonate with
the recent (long)
discussion on teaching assembler language programming :
With the widespread availability of higher level languages (such as
ALGOL, COBOL
FORTRAN, PL/1) for computer programming, as well as packages put out
by the major
computer manufacturers that, almost at the touch of a button, will
perform a variety
of complex tasks, it is reasonable to ask why any other than a
relatively small
number of specialists should trouble to learn assembler language
programming at all.
There are good practical, theoretical and aesthetic reasons for doing so.
...
In our opinion, however, the most useful function served by a
knowledge of assembler
language programming is to give the user a much closer awareness of
how the computer
works, as well as inestimably greater control over its workings, than
is feasible with
a higher level language. In our experience, the higher level language
user who is
familiar with assembler language is a more efficient - even happier -
programmer than
one who is not.
....
The notion that assembler language programming is esoteric and
inherently difficult is,
in our experience, very much mistaken. On the contrary, for many
people it seems to be the
natural way to start off with computers.
...
All computers have a great deal in common, and much of what is said
here applies equally
well, with only minor changes, to many other machines.
...
Octal and binary numbers must be introduced, and indeed a programmer
should ideally be able
to think with numbers in any base. Such a facility, however, may be
acquired gradually, and
so in Section 1.3 we go no further than is necessary to understand
what follows. At no stage
do we encourage the reader to gain skill in performing calculations in
various bases, or in
base conversion; in our experience, once the principles are
understood, the student's time is
better spent in learning how to pass such drudgery to the computer.
....
Those readers who want to proceed further, particularly into systems
programming, will be
ready after reading this book to refer to the manuals. A warning
should be given that much
less care goes into [the] preparation of the descriptive literature
than into the machine
itself and its software, and the manuals contain many obscurities and
errors.
-- HansP