1. 10

  2. 7

    Assemblers, what luxury! I wrote my first 6502 machine language programs directly in the Epyx FastLoad monitor on the C64 (a particularly deprived monitor at that) manually in hex. This is a little sad for me personally as I have no source code from my childhood projects to refer to. When my best friend and I got a KIM-1 as a weekend project in high school, it was easy for us to program, because we already knew the opcodes by heart!

    Actually being able to enter mnemonics in the C128’s MONITOR was a huge leap. Then it was TurboAssembler, and I’ve used xa65 (and now maintain it) since the late 1990s.

    1. 4

      FastLoad! Monitors! Luxury! Kids these days not knowing what they have! When I wanted to write assembly I had to enter it as raw DATA statements in a BASIC program and write it to disk!

      1. 3

        Hexadecimal was a great convenience :)

        1. 3

          Disks! What luxury! I had to record my programs on 80s mix tapes using the 1530 datasette.

      2. 1

        I just realised something. In assembly because the notation was so convoluted, programmers spent much more time explaining code (see this) in the comments. But these days because of the quasi natural language we assume code is “natural to understand” when in fact it is not. I think such comments were a primitive version of literate programming.

        I think Djiktra never really understood how assembly hackers wrote readable code. Although he is right in claiming that reading goto code is difficult and one can’t understand how one gets to point X in code, I think the assumption that call stacks aka functions are better is mistaken. The human limit is 7-10 calls deep it seems. Instead of functions from what I can understand assembly programmers preferred arrays to use control tables to encode goto logic in a readable way. This is absolutely superior in performance and more readable than deep function call stacks.