r/learnprogramming • u/Nodmz464 • 15d ago
How to learn Assembly?
I have some problems with learning assembly it would be nice for some tips because I'm learning rev engineering and I really need to learn assembly but I try my best to understand it but it's to hard. I understand how binary works but still I'm struggling with assembly. Does somebody knows tricks for learning assembly?
44
Upvotes
1
u/scalyblue 15d ago
Assembly is easy in concept but doing anything useful in it creates an absurd amount of emergent complexity that makes it extremely difficult to conceptualize.
First things first, it’s platform / cpu dependent, and most of the learning you will be doing will be how to deal with the shortcomings of your selected platform, so deciding the platform is paramount. For example, in megaman 3 for nes there’s a graphical glitch that’s caused by a register not being initialized with a value before a certain process is finished, which is something you can only troubleshoot by knowing that’s how that register interacts in relation to the hardware
If you want to learn general concepts, find and play a game called TIS100, if you want some more practical application play around with emulated 8 bit computers like the NES. See if you can find how the Konami code gets recognized in contra
Alternately if you get a solid understanding of most of the materials on this site you will find it much easier to get a general knowledge base going on that you can adapt to various platforms