3 ms·
>I swear that experience of learning Z80 assembler by typing in the hex or decimal opcodes (I couldn't afford an assembler), was the single most important event
by stevekemp 9y ago
>I swear that experience of learning Z80 assembler by typing in the hex or decimal opcodes (I couldn't afford an assembler), was the single most important event of my programming career.
I eventually graduated to doing the same thing - in my case writing out assembly programs on paper, putting the decimal opcodes next to each instruction.
Once the main program was "assembled" you'd then go put in the jump targets - which had to be calculated last, as you didn't know how many bytes each instruction you'd used was until that time.
All my programming started by accident, as the family-computer arrived as a Christmas-present one year. The tape-deck didn't work, so we couldn't load any games, and I was "forced" to read the manual instead. At least back then computers had decent manuals..
- 3chelon 9y agoThe technique I used was to always leave a few bytes spare at the end of each subroutine so I could add code later on without breaking every single jump address. The pain we went through!
- stevekemp 9y agoI'm all too familiar! I used to pad any routines with five NOPs at the start, just in case I needed to add a jump, or call, to handle something I'd not forseen.