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)