# MACRO-10

> assembly language

**Wikidata**: [Q6714060](https://www.wikidata.org/wiki/Q6714060)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/MACRO-10)  
**Source**: https://4ort.xyz/entity/macro-10

## Summary
MACRO-10 is an assembly language and macro assembler designed specifically for the PDP-10 platform. It serves as a low-level programming language where instructions correspond directly to the architecture's machine code, enabling the production of executable files for Digital Equipment Corporation (DEC) systems.

## Key Facts
- **Classification:** MACRO-10 is an assembly language and macro assembler.
- **Platform:** It is designed for the PDP-10 platform (mainframe computers).
- **Output:** The assembler produces executable files specifically for the PDP-10 architecture.
- **Associated Systems:** It is closely related to the TOPS-10 operating system (for the DEC PDP-10) and the TOPS-20 operating system by Digital Equipment Corporation.
- **Function:** As an assembly language, it provides a low-level interface with a strong correspondence to machine code instructions.
- **Library of Congress ID:** The authority ID for MACRO-10 is **sh85079427**.
- **Yale LUX ID:** concept/250e48f9-a977-4487-9537-5f1c0d854015.
- **Freebase ID:** /m/05sytc1.

## FAQs
### Q: What exactly is MACRO-10?
A: MACRO-10 is both an assembly language and a macro assembler used to create programs for the PDP-10 computer platform. It translates low-level instructions into machine code executables.

### Q: What hardware or operating systems use MACRO-10?
A: MACRO-10 is built for the PDP-10 platform. It is commonly associated with the TOPS-10 and TOPS-20 operating systems created by Digital Equipment Corporation (DEC).

### Q: What is the primary function of MACRO-10?
A: Its primary function is to serve as a readable file format for assembly language code and to produce executable binaries that run on PDP-10 hardware.

## Why It Matters
MACRO-10 matters as a fundamental tool in the history of computing, specifically within the ecosystem of Digital Equipment Corporation (DEC). As the native assembly language for the PDP-10, it provided the primary interface for developers writing low-level code and system software for one of the most influential mainframe architectures of its era.

The PDP-10 and its associated operating systems, TOPS-10 and TOPS-20, were critical in the development of early networking and artificial intelligence research. MACRO-10 enabled programmers to maximize hardware efficiency by writing instructions that corresponded directly to the machine's architecture. By facilitating the creation of complex executables, it played a vital role in the operation of DEC time-sharing systems throughout the 1970s and beyond.

## Notable For
- **Platform Specificity:** It is the dedicated assembler for the PDP-10 architecture, distinguishing it from other assembly languages like MACRO-11 (for PDP-11).
- **Macro Capabilities:** It functions not just as an assembler, but as a *macro* assembler, allowing for more complex instruction sets and code generation.
- **DEC Ecosystem Integration:** It is a core component of the software stack for TOPS-10 and TOPS-20, the flagship operating systems for DEC's 36-bit systems.

## Body
### Technical Definition
MACRO-10 is defined as an assembly language and a macro assembler. It falls under the category of low-level programming languages where there is a very strong correspondence between the language's instructions and the architecture's machine code instructions.

### Platform and Usage
The utility is strictly tied to the **PDP-10** platform (a 36-bit mainframe computer). Its primary output is the creation of **executables** designed to run on this specific hardware. The "readable file format" for the assembler is the assembly language itself.

### Operating System Context
MACRO-10 is intrinsically linked to the operating systems that managed the PDP-10 hardware:
*   **TOPS-10:** An operating system explicitly for the DEC PDP-10.
*   **TOPS-20:** An operating system by Digital Equipment Corporation (inception 1973) which succeeded TOPS-10 and utilized MACRO-10 for system and application programming.

### Authority and Identifiers
MACRO-10 is cataloged in several major knowledge bases and library systems:
*   **Library of Congress Authority ID:** sh85079427
*   **National Library of Israel J9U ID:** 987007541030605171
*   **Yale LUX ID:** concept/250e48f9-a977-4487-9537-5f1c0d854015
*   **Freebase ID:** /m/05sytc1

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. National Library of Israel Names and Subjects Authority File