Assembly languages and linkers were perhaps the first tools used to
abstract features of the bare machine.
- Addresses could be represented symbolically, not as a number.
- Symbolic names for operations.
- Linking of names and locations performed automatically