Demystifying assembly language
Assembly language (often abbreviated to asm) enables communication directly with the computer's processor. Since assembly language is a very low-level programming language, it is generally used for specific use cases, for example, writing drivers and shellcode. Trying to write a fully fledged program using assembly language would be near impossible, hence these are written with high-level languages.
Understanding assembly language helps you become aware of a number of things, especially in relation to the shellcode. For instance, you will be able to understand the following:
- The interaction between various components within a computer
- The representation of data in storage, in memory, and miscellaneous devices
- How instructions are accessed and executed by the processor
- How data is accessed and processed by instructions
- The manner in which a program interacts with external devices
Assembly language consists of the...