Types of computer codes, from more computer-friendly to human-friendly:
- Machine code
- Assembly language
- Source code
Assembly language is sometimes known as assembler language or symbolic machine code.
Early computer programs were written in assembly language, as programming languages did not exist yet.
Assembly language is unique for each processor architecture (x86, ARM, ARM64, etc.). Portability of assembly languages is complicated.
Assembly language is relevant even nowadays in the following computer science fields:
- Compilers (and related toolchains)
- Reverse engineering
- OS kernel development
- Very low level embedded programs
An assembler is a computer program that translates assembly language to machine language.
List of Assembler Programs
Netwide Assembler or NASM is an assembler used to write assembly language code for various architectures.
Flat Assembler or fasm is a Free Open-Source Software (FOSS) assembler known for its flat memory model and simplicity.