9 ms·
The concept of Assembly language is not that hard, provided one starts with simpler processors, simple said it's mapping processor codes to 3 letter instruction
by Yaa101 15y ago
The concept of Assembly language is not that hard, provided one starts with simpler processors, simple said it's mapping processor codes to 3 letter instructions.
Processors nowadays are way more complicated than the ones of yesteryear, my tip is when one really wants to understand is to start with a beast like the 6502, it's a straight forward processor and there is tons of documentation for it, also there are many emulators of the machines that used the 6502/6510.
In the process you learn concepts like memory mapped graphics and IO.
You can use that knowledge to explore and build on modern day processor concepts like segmented, protected and virtual memory and things like OS/User separation or floating point processing.
Compilers are mainly programs that translate higher level languages to Assembly language.
A lot of today's languages like Python, Perl or Ruby are not compiled but interpret and bring yet other advanced language concepts like automatic memory allocation and garbage disposal, but also higher up algorithms like sets, dictionaries and collections etc...
Start in the recent past like the 80's and work your knowledge towards the present, there is not much use to go further back than the 80's because before that era there were not that many standard solutions for these concepts, only historians want to know about things like mercury delay line memory, crt scanline memory, core memory, programming panels and so on.