# Z80 Assembly
**Wikidata**: [Q115309010](https://www.wikidata.org/wiki/Q115309010)  
**Source**: https://4ort.xyz/entity/z80-assembly

## Summary
Z80 Assembly is a low-level programming language designed for the Zilog Z80 microprocessor, a popular 8-bit CPU in the late 1970s and early 1980s. It directly corresponds to the Z80's machine code instructions, making it essential for programming early home computers and embedded systems.

## Key Facts
- **CPU**: Z80 Assembly is specifically designed for the Zilog Z80 microprocessor.
- **Used by**: Amstrad CPC, MSX, Sinclair ZX80, Sinclair ZX81, ZX Spectrum, TI-73 series, TI-81, and TI-82.
- **Instance of**: Assembly language, a category of low-level programming languages with a strong correspondence to machine code.
- **Inception**: The concept of assembly language dates back to 1949, though Z80 Assembly was developed for the Z80 microprocessor.
- **Sitelink count**: 2 (indicating limited but relevant online presence).

## FAQs
### Q: What is Z80 Assembly used for?
A: Z80 Assembly is used to write programs for systems powered by the Zilog Z80 microprocessor, including early home computers like the ZX Spectrum and TI calculators.

### Q: How does Z80 Assembly differ from other assembly languages?
A: Z80 Assembly is specifically tailored to the Z80 CPU's architecture, meaning its instructions directly map to the Z80's machine code, unlike other assembly languages for different processors.

### Q: Is Z80 Assembly still relevant today?
A: While the Z80 microprocessor is no longer widely used, Z80 Assembly remains relevant for retrocomputing, emulation, and understanding early computer architecture.

## Why It Matters
Z80 Assembly played a crucial role in the early days of personal computing, enabling programmers to write efficient code for the Z80 microprocessor. It was instrumental in the development of popular home computers like the ZX Spectrum and Amstrad CPC, shaping the software landscape of the 1980s. Today, it remains a historical artifact of computing, offering insights into how early systems were programmed and how hardware and software interacted.

## Notable For
- **Historical Significance**: One of the first widely used assembly languages for an 8-bit microprocessor.
- **Legacy Systems**: Still used in emulation and retrocomputing projects.
- **Educational Value**: Provides a window into early computer architecture and programming techniques.

## Body
### Origins and Development
Z80 Assembly was developed alongside the Zilog Z80 microprocessor, which was introduced in 1976. The Z80 was designed to be a high-performance 8-bit CPU, compatible with the Intel 8080 but with improved features. This compatibility allowed developers to port software from the 8080 to the Z80 with minimal changes.

### Key Features
- **Direct Machine Code Mapping**: Each Z80 Assembly instruction corresponds directly to a Z80 machine code instruction, allowing for efficient and precise control over hardware.
- **Register-Based Architecture**: The Z80 has a set of registers (A, B, C, D, E, F, H, L, and IX, IY) that are central to its operation, and Z80 Assembly provides instructions to manipulate these registers.

### Applications
- **Home Computers**: Z80 Assembly was widely used in programming the ZX Spectrum, Amstrad CPC, and other Z80-based systems.
- **Embedded Systems**: The Z80 was also used in various embedded systems, including calculators and industrial controllers.

### Legacy
Despite the Z80's decline in mainstream use, Z80 Assembly remains a subject of interest for retrocomputing enthusiasts and historians. It serves as a bridge between early computing and modern systems, offering valuable insights into the evolution of computer architecture.