Assembly language is a low-level programming language designed for a specific type of processor. It is a human-readable representation of the machine code executed by a CPU.
- CPU Architectures: x86_64 (CISC) vs ARM (RISC) architectures.
- Registers: Accumulator (EAX/RAX), base (EBX/RBX), counter (ECX/RCX), data registers, instruction pointer (EIP/RIP), stack pointer (ESP/RSP).
- Instructions:
MOV: Transfer data.ADD,SUB,MUL,DIV: Arithmetic.CMP,JMP,JE,JNE: Conditionals and branching.PUSH,POP: Stack manipulation.
- Assemblers: NASM (Netwide Assembler), GAS (GNU Assembler).