Note on Assembly Language
Definition: Assembly language is a low-level programming language that is closely related to a
computer's machine code. It uses symbolic names (called mnemonics) instead of binary code,
making it easier for humans to understand and write.
Example:
MOV AX, 5 ; Move the number 5 into register AX
ADD AX, 3 ; Add 3 to the value in AX
Key Features:
1. Low-Level Language: Directly communicates with hardware.
2. Machine Specific: Each type of processor has its own assembly language.
3. Fast and Efficient: Runs faster and uses less memory than high-level languages.
4. Requires an Assembler: Converts assembly code to machine code.
Common Uses:
Writing device drivers
Embedded systems
Performance-critical software
Learning how hardware works
Advantages:
Gives full control over system hardware
Very efficient and fast
Helps understand how CPUs work
Disadvantages:
Hard to learn and debug
Not portable (code works only on specific processors)
Time-consuming to write compared to high-level languages
Popular Assemblers:
NASM (Netwide Assembler)
MASM (Microsoft Assembler)
GAS (GNU Assembler)