Assemblers Assembly Compilers ======================================================================================== 1977 ASM86 || 1978 | || 1979 |-CP/M-86 asm86 || 1980 | || 1981 +-------------------------------------------------+ || 1982 |-MASM---------+----+ | || 1983 | | | | | || 1984 | |-NBASM | +-------------------+-Incra | || 1985 | | | | | | || 1986 | |-ARROWSOFT | | | +--A86 || 1987 | | | | +-WASM | || Terse 1988 | | | +-OptASM | || 1989 TASM-----------)----)----------+ | || 1990 | | | | | || 1991 | | | | GAS | || 1992 | | | | | || 1993 | | | | | || 1994 | +------+ | | GEMA, CrossFire | || 1995 | | +----------)------------------+ +-A386 || 1996 |-------NASM \-Pass32 | | || 1997 |-TMA |-------------------+ | |-ML || 1998 | |-SpASM---+ | | | || 1999 | |-GASM | |-FASM | || HLA 2000 +-LZASM | | | | || 2001 | +-GoASM | +---------------YASM | Osimplay || 2002 | | | || 2003 +-miASMa +-RosASM +-CodeX || 2004 Octasm || ======================================================================================== Some notes on the two categories: 1) Assembly language is any programming language with a 1:1 correspondance to machine code 2) Assemblers take assembly language and assemble it into object code (for use with a separate linker), raw machine code, or machine code with some form of header used to tell the OS how to load it 3) Assembly Compilers take assembly language, and compile it to an intermediate form that is then assembled by an assembler