Assembly language is one of the most misunderstood programming languages in use.
When the term assembly language is used, it often invokes the idea of low-level bit shuffling and poring over thousandpage instruction manuals looking for the proper instruction format.
With the proliferation of fancy highlevel language development tools, it is not uncommon to see the phrase “assembly language programming is dead” pop up among various programming newsgroups.
However, assembly language programming is far from dead. Every high-level language program must be compiled into assembly language before it can be linked into an executable program.
For the highlevel language programmer, understanding how the compiler generates the assembly language code can be a great benefit, both for directly writing routines in assembly language and for understanding how the high-level language routines are converted to assembly language by the compiler.