Skip to content

Assembly Compilers

ScriptScorpion edited this page Aug 1, 2025 · 4 revisions

Assembly language is a low-level programming language that is specific to a particular computer architecture. Various assemblers (compilers for Assembly) exist for different platforms and purposes.

Popular Assembly language compilers:

  1. MASM (Microsoft Macro Assembler) – Not Supported
  • Reason: this project is written for Unix-like systems only.
  1. NASM (Netwide Assembler) - Recommended
  • Open-source, cross-platform assembler for x86 and x86-64.

  • Supports multiple object file formats.

  • Wikipedia

  1. GAS (GNU Assembler) - Recommended
  • Part of the GNU Compiler Collection (GCC).

  • Default assembler for Unix-like systems.

  • Uses AT&T syntax (different from Intel syntax).

  • Wikipedia

  1. FASM (Flat Assembler) – Not Supported
  • Reason: FASM already have ASMZ goal feature(making compilation of Assembler files as easier as possible).
  1. YASM
  • Rewrite of NASM with additional features.

  • Supports x86 and x86-64.

  • Wikipedia

Choosing an Assembler:

Windows: NASM

Linux/Unix: GAS, NASM, YASM

Cross-platform: NASM, YASM

Each assembler has its own syntax and features, so choose based on your target platform and needs.

Clone this wiki locally