The delights and frustrations of assembly programming

English: 3 binding of manual "Z80 CPU Pro...
English: 3 binding of manual “Z80 CPU Programming Reference Card” (Photo credit: Wikipedia)

They say of C it has all the speed of assembly programming and all the maintainability of … assembly programming. What it lacks is the basic sense of complete mastery over the machine that a successful piece of assembly delivers but, actually, it is a bit easier to maintain than assembly.

These past few weeks, for the first time in more than thirty years, I have spent a lot of time writing assembly – and for a 32 bit RISC processor, quite different from the 8 bit CISC world of the Z80, where I last did this.

Assembly gives you complete control, but it is also very frustrating – debugging iteration after debugging iteration.

How sad is it to admit, though, that I am enjoying it greatly?