Netwide Assembler
# Netwide Assembler

Netwide Assembler (NASM) est un assembleur pour l'architecture x86, utilisant la syntaxe Intel (en). Il peut être utilisé pour produire à la fois des programmes 16 bits et 32 bits (IA-32) ; depuis la version 2 de NASM il est possible de produire aussi des programmes 64 bits (x64).

## Portabilité

Les programmes 32 bits peuvent être écrits de façon à être portables entre Microsoft Windows et Linux, si les bonnes bibliothèques sont utilisées.

NASM ne propose pas de lieur. Cependant il est capable de produire des fichiers objets compatibles avec la plupart des lieurs habituels : par exemple en format COFF, lisible par Visual C++ ou par les logiciels de développement Delphi et C++Builder d'Embarcadero (ceux-ci utilisent le format OMF (en), mais peuvent lire le format COFF), ou en format ELF, lisible par ld​, le lieur de GCC. Les éditeurs de liens golink et alink sont également utilisables.

## Histoire

Les développeurs du projet se sont lancés dans sa conception parce qu'à leurs yeux il n'existait pas d'assembleur à la fois libre, performant et multi-plateforme. Le projet a débuté en 1996. Il est toujours actif, sous la direction de Hans Peter Anvin qui a pris la suite de Simon Tatham et Julian Hall. Par ailleurs NASM est passé sous licence BSD. En 2001, le projet YASM a commencé comme réécriture de NASM sous licence BSD.

