2 ms·
WOW. Amazing work. Thanks for the exposition. (I miss the 68000 line. Those were such great chips...)
by AnimalMuppet 2y ago
WOW.
Amazing work. Thanks for the exposition.
(I miss the 68000 line. Those were such great chips...)
- aruggirello 2y agoI miss the assembly. It was so clear and logical, like great engineering should always be. You could browse through it and comprehend at a glance what was happening. By contrast x86 assembly looks like pure rubbish, with stuff that most of the time looks like clever hacks coming from a bad night's sleep, like subtracting a register from itself to get zero... c'mon!
- jjuran 2y agoI hate to disappoint you, but the canonical way to clear a 68K address register is `SUBA.L An,An`. My asm-coded replacement for the Metrowerks code resource runtime uses it: <https://github.com/jjuran/metamage_1/blob/master/mac/toolchain/postlink-68k-standalone/postlink.cc#L281 https://github.com/jjuran/metamage_1/blob/master/mac/toolcha...>
- aruggirello 2y agoOops, you're right. I forgot stuff like `MOVE.L #0,Dn` is restricted to data registers. So this must be the way to go, every time a NULL pointer is needed...
- snvzz 2y agoFortunately, sane assembly didn't die with 68k falling out of favor. MIPS carried the flag, and now RISC-V is even more readable. The dusk of x86 era is nigh.