Pithagoros wrote: scruss wrote:
As a first teaching analogy, the LMC
isn't bad. With real assembly language, the students would have to know about binary, bit masking and testing, understand the toolchain, and debugging.
My introduction to assembly in the 1980s was mostly a paper exercise. I didn't hear the word "toolchain" until many years later.
Mine and my twin's first intro was to Z80 machine code, we had to assemble everything by hand and turn it into PEEK and POKE instructions for the Z80 in the Sinclair ZX80's awful BASIC . My next computer was a Microtan65 that had a rudimentary 6502 assembler in ROM.
The next ones after that were an IBM 3033 and IBM 3081 which were S/370 Assembler F. Knowing 6502 assembler made S/370 easier to get started although the S/370 was a better architecture since it had 16 32-bit general purpose registers and a very simple base/displacement addressing mode (much like the ARM6 and ARM7).
We've now moved on in the S/360, S/370, S/390 and zSeries to have 16 64-bit registers and relative branches (which are easier than base/displacement addressing).