Netwide Assembler

提供: miniwiki
移動先:案内検索


Netwide Assembler (NASM) はインテルx86を対象としたフリーソフトウェアアセンブラであり、16ビット32ビット (IA-32)、64ビットすべてのコード生成に対応している。

NASMは当初、Julian HallとSimon Tathamが作成していたが、現在はH. Peter Anvinを中心とした少人数のチームによって開発されている。また、当初は独自のライセンスによって公開されていたが、後にBSDライセンスに変更している。

NASMはCOFFa.out形式、ELF、ネイティブMINIX形式など様々な種類の形式の出力に対応している。フラットな単なる機械語のファイルも出力でき、ブートローダROMイメージ、オペレーティングシステム開発などに用いることもできる。またNASMは独自の形式としてRDOFFを定めている。これは単純かつ実用的であるよう設計され、クロスアセンブルにも適するという特徴を持っている。なお、SPARCPowerPCなどx86以外でNASMを実行することもできる。その場合、当然そのコンピュータではNASMの出力したプログラムを実行できない。

NASMの哲学は、プログラマが簡単に理解できるインテルアセンブリ言語として親しまれるようにするということである。そのため従来のインテル構文を採用し(GNUアセンブラ (GAS)ではAT&T構文を採用)、MASMやその互換アセンブラに存在するセグメントオーバーライドプレフィックスの自動生成(ASSUME擬似命令など)は搭載していない。

関連項目

外部リンク