Assembly language is one-for-one equivalent to machine language for the
target processor.
For 8-bit machines it is much lower level than the usual programming
languages. As a result, it is somewhat confusing to people who are
accustomed to higher level languages, where “+” can mean “add two multibyte
floating point numbers”, which requires perhaps a hundred 6502
instructions.
Machine language is much lower level and much simpler, performing
elementary logical and arithmetic operations on single bytes.
Machines with wider data paths and more advanced data types, like floating
point, all have similar basic operations, but with wider and more complex
data types.
Once you have mastered *any* machine language you are well prepared to
learn another.
Woz was quite familiar with machine level instructions, and it would be
straightforward to “port” that familiarity to the 6502, then learn the
“tricks” peculiar to the 6502 and its instruction set.
To move from an understanding of a high level language to machine language,
prepare yourself for a drastic drop in semantic level and RTFM over and
over. When you have grasped the concept that almost any high level
operation translates into many machine language instructions, it all starts
to make sense. Then you discover that many logical and arithmetic
operations can be performed much more efficiently at the machine language
level.
--
-michael - NadaNet 3.1 and AppleCrate II:
http://michaeljmahon.com