Is learning assembly worth it?
If so, which language?
>>54853837
I think everyone who is serious about being a good programmer should learn a little bit to get a better understanding of lower level CPU details, but really the only people who *need* to know it are compiler/OS writers and CPU designers (and maybe a few other really low level types I can't think of at the moment). So the answer is yes, just don't get too sucked into it unless you plan on going into any of those professions I mentioned, because otherwise it becomes a waste of time quickly.
Go with x86 since you already have a machine that runs it natively (I'm assuming since that's what most PCs have) and there are loads of resources for it on any OS.
>>54853837
Yes, you can only get so far without understanding what the compiler is doing. Understanding assembly won't hurt you at all. x86 is the dominant instruction set, but I'm starting with 6502 because it's simpler and more resources to learn from.
>>54853837
Start out with a simple architecture, with a small instruction set. I like MIPS a whole lot.
A good way of learning is translating C-code, and then optimising. Comparing the cycle-count of optimised assembly and the C-code, motivates you to continue.
>>54854017
>(and maybe a few other really low level types I can't think of at the moment)
Reverse engineers?
>>54854079
MIPS is great for learning assembly, highly recommended
Plenty of simulators online
>>54854017
Doesn't some machinery use assembly for their hardware?
it's really fun to play with and will help you reverse engineer / crack software / find vulnerabilities etc, I am developing an OS for ARM64 called gnu turd and so far it's been fun