4 ms·
Don't start with the x86 or -64 architecture; there's a lot of cruft in there due to backwards compatibility. Start with a simpler architecture like MIPS (see e
by HillRat 11y ago
Don't start with the x86 or -64 architecture; there's a lot of cruft in there due to backwards compatibility. Start with a simpler architecture like MIPS (see e.g., Sweetman's "See MIPS Run" for an introduction), or the old 6800 chips (few extant examples in the wild not attached to old Macs -- unless you are willing to pay exorbitant prices because you're maintaining an old weapons system -- but there are some wonderful out-of-print textbooks that are great reads).
- kabdib 11y agoARM is nice and simple, and relatively modern. Even simpler, the 6502. After writing tens of thousands of lines of 6502 assembly, the ARM feels like writing in a high level language. But people got real work done with it. [The Macs were 68000s, not 6800s. Typo, I assume]
- HillRat 11y agoAn effect of browsing HN on a phone at 6AM while packing for a trip, I'm afraid. Using the 6502 (though I know nothing operational about either processor) is a great idea; I'm sure there are some good systems programming texts kicking around from those days that target that family, and would make a nice introduction to development on a simple 8-bit design. Are the 6502s still used in microcontroller applications?
- kabdib 11y agoI doubt that 6502s are still actively used. There are many better microprocessors available today (the last one I used was under twenty cents in quantity, with a clock rate 10X that of the 6502s back-when).
- cmrdporcupine 11y agoAnother nice assembly that is fun to write in is the one for Parallax's 8-core microcontroller, the Propeller. It's quite nice CISC with some high level instructions but still close enough to the metal to have the 'true assembly feel.'