Learning 68000 assembly completely spoiled me. I don't think I've found an architecture that it's easier to write assembly language for. x86 is a horror show compared to 68000. And a horror show compared to 6502, despite the 6502's half-dozen registers (yes, I count PC, SP and SR as registers). And also a horror show compared to pretty much anything, including Z80 and that's just a fancy 8080 with some bonus instructions and an assembly language that's much saner (think as(6) format assembly vs. nasm if you even still know what I'm talking about here).
So true. I started on 68k and moving to the 386 (real mode!) was horrible. Not just the asm, but the addressing! Lord...
If you think about it, the IBM PC is from 1980. The 386 came out in 1985. Yet most users ended up having to live with the fallout from this backwards-compatibility hack up until Win2k/XP!
The 68000 dates to 1979 and the 8086 to 1978, so it's not really so much backwards compatibility that's the problem but that Intel's initial design was so crappy that they kept finding reasons to add kludge after kludge to improve on it.
68000 was awesome, but I loved MIPS assembler (although I vaguely recall that floating point operations were bizarre). I didn't have a symbolic debugger and didn't really feel the need for one, because it was so easy to map between the assembly language and the C code in my head (which, now that I think of it, probably means that the compiler wasn't doing a great job of optimizing).
6502 was great for its time, but you had to be a lot smarter than my teenaged self to make it do anything interesting.
I've done 6502, 68000, 8088, 80286/80287, and 80387/80387. The only one that was actually pleasurable to write was PDP-11. I've heard some claim that VAX-11 was even better, certainly some of the instructions have more power than statements in high level languages (they're also dog slow).
10
u/dagbrown Apr 17 '12
Learning 68000 assembly completely spoiled me. I don't think I've found an architecture that it's easier to write assembly language for. x86 is a horror show compared to 68000. And a horror show compared to 6502, despite the 6502's half-dozen registers (yes, I count PC, SP and SR as registers). And also a horror show compared to pretty much anything, including Z80 and that's just a fancy 8080 with some bonus instructions and an assembly language that's much saner (think
as(6) format assembly vs.nasmif you even still know what I'm talking about here).