* * * * * The days when assembly was required From about the mid-80s to the mid-90s, I pretty much programmed exclusively in assembly langauge. Along the way, I learned the 6809 [1], (my favorite of the 8-bit CPUs), x86 [2], 68000 [3] (my favorite of the 32-bit CPUs), VAX [4] and MIPS [5] assembly languages, and I can recognize (and could probably program in if I had to) the 6502 [6], 8080 [7], Z80 [8] and SPARC [9]. I don't program much (if any) in assembly anymore. The CPUs have gotten too complex, the optimization rules too arcane and numerous and porting [10] programs just gets tedious in assembly (they're practically a rewrite). Besides, compilers are getting better and better over time, negating the use of assembly except for absolute performance (when C or Fortran won't cut it). But I still like assembly language, and I find these assembly gems [11] (link via Hacker News [12]) fun to read, even if they aren't that useful these days. [1] https://en.wikipedia.org/wiki/Motorola_6809 [2] https://en.wikipedia.org/wiki/X86 [3] https://en.wikipedia.org/wiki/Motorola_68000 [4] https://en.wikipedia.org/wiki/VAX [5] https://en.wikipedia.org/wiki/MIPS_instruction_set [6] https://en.wikipedia.org/wiki/MOS_Technology_6502 [7] https://en.wikipedia.org/wiki/Intel_8080 [8] https://en.wikipedia.org/wiki/Zilog_Z80 [9] https://en.wikipedia.org/wiki/SPARC [10] https://en.wikipedia.org/wiki/Porting [11] http://dflund.se/~john_e/fr_gems.html [12] https://news.ycombinator.com/item?id=10141523 Email Sean Conner at sean@conman.org .