Tried to answer this question years back for just the "basic" x86 registers. Quickly realized there was never going to be any single answer until I had mastered the entire ISA. Oh well.
Art, photography, acting, music - none of them are good career choices. You'll either be one of the fortunate few, or you'll struggle to make a living. Sucks but that's how it is.
Plenty of places, actually. Maybe not so much in the companies people here tend to be familiar with. It happens all the time where I work (smaller company far from the Bay area).
"We" might be such an industry, but I'm not. My focus has always been on creating new capabilities, particularly for specialists in whatever field. I want to make individuals more powerful, not turn them into surplus.
Have seen this time and time again during my career.
Most of the time, it's something you could never conceivably figure out without having been there at the time. But after 10 seconds on the phone or a brief email from someone who was, it makes complete sense.
At my first job circa 1990, our codebase was constrained to 6-character function names in the core libraries, which had to run on many platforms including mainframes. If I recall correctly, you could have longer names, but only the first 6 characters were significant to the linker.
Never thought about why that might be other than "yeah, memory is expensive".
The Apple II Reference Manual includes assembly listings (with full comments!) for the Monitor ROM and Autostart ROM, the mini-assembler, floating point routines, and a very nice 16-bit "pseudo machine interpreter" called SWEET 16. Most of which was written by Steve Wozniak. Learned a lot from this book back in the day.
Here's a link from archive.org. It's not the best scan, but you can easily find other copies.
If you're feeling adventurous, you can find assembly listings for the AppleSoft BASIC language (though maybe only from third parties). It's pretty huge.
reply