Hacker News new | ask | show | jobs
by mrandish 411 days ago
Wow, write-up was eye-opening for me. My first computer was a 4K Radio Shack Color Computer based on the Motorola 6809 CPU. It had no hardware support for sprites, tiles, palette tricks or other neat graphics. But what it did have was probably the best 8-bit CPU of that era. Being the 'little brother' of the 68000, it had an orthogonal instruction set, indexed and indirect addressing modes, separate user and software stacks and several 16-bit registers. All this made writing relocatable, re-entrant, preemptive multi-tasking code easy and to me it as pretty much "just how assembler is written".

My next computer was the 68000-based Amiga which I stuck with as my daily driver until sometime in 1995 (with upgrades to 68020 and 68030 along the way). While every computer platform has its challenges, the 68000 gave us a flat linear address space and, arguably, the best 16/32 bit CISC CPU architecture priced for desktop use. By the time I was coding on a PC, everything was C or other languages. So I never did 8086 assembler. Of course, I'd heard about segments and other various challenges on 8086 but this write-up gave me an up-close, in-context tour of just how challenging the PC architecture could be for assembly programmers. It was interesting, occasionally terrifying :-), and super fun. So thanks!

And I promise I will never, ever complain about the days of writing 680x0 assembler again.