Assembly
Assembly Language (ASM), also known as symbolic machine code or assembler language, is a collection of low-level programming languages used to communicate directly with a computer’s hardware. It is a symbolic representation of the machine code instructions that a computer can understand and execute. Assembly language programs are written using mnemonics, which are human-readable representations of machine instructions, such as MOV for “move data“, ADD for “addition“, and CMP for “compare“.
When we refer to ASM being a collection of languages, we mean that there is an Assembly Language for every CPU Architecture; since this language communicates directly with the hardware, it makes sense to have CPU-specific Assembly languages.
This section will discuss the theory behind computer architecture, mainly CPU & memory, the history behind Assembly, how to write Assembly code, its most relevant use cases such as embedded systems, device drivers, and more.