Assembly language
Assembly language is a low-level programming language that provides a symbolic representation of a computer's native machine code. It maps directly to the instruction set architecture of a specific processor, using mnemonics for operations and symbolic names for memory locations. This allows…
Key facts
- First appeared
- 1949
- Category
- technology
- Problem solved
- Assembly language was created to solve the excruciatingly difficult and error-prone problem of programming computers directly in raw binary machine code. Before assembly, every instruction, memory address, and data value had to be represented as a sequence of ones and zeros. This made programs incredibly hard to write, read, debug, and modify, limiting the complexity and scale of early software.
- Platforms
- MOS 6502, PowerPC processors, Any processor with an Instruction Set Architecture (ISA), Zilog Z80, x86/x64 (Intel/AMD processors), RISC-V processors, ARM processors, MIPS processors
Related technologies
Notable users
- Google (Android kernel components, specific optimizations)
- Embedded systems manufacturers (e.g., automotive, IoT)
- Game developers (historical, now mostly for engine optimization or console specific code)
- Linux Foundation (Linux kernel)
- Microsoft (Windows kernel, drivers)
- Apple (macOS/iOS kernel, low-level optimizations)
- Security researchers (reverse engineering, malware analysis)