linux(Desktop ubuntu 8.10)でアセンブラを少し勉強しようと思い、NASMをインストールしました。

以下、ソースからNASMのインストールのメモ書きです。

まず、公式HP でNASMのtarボールをダウンロードしてきます(私はこの時の最新安定版の nasm-2.05.01.tar.gzをダウンロードしました。)

・解凍・展開します。
$ tar zxf nasm-2.05.01.tar.gz

・移動
$ cd nasm-2.05.01/

・configureの実行
$ ./configure
checking for prefix by checking for nasm... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files...
~
config.status: creating Makefile
config.status: creating rdoff/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing default-1 commands

・makeの実行
$ make
gcc -c -g -O2 -W -Wall -std=c99 -pedantic -DHAVE_CONFIG_H -I. -I. -o nasm.o nasm.c
gcc -c -g -O2 -W -Wall -std=c99 -pedantic -DHAVE_CONFIG_H -I. -I. -o nasmlib.o nasmlib.c
nasmlib.c: In function ‘fwriteint16_t’:
nasmlib.c:407: 警告: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
nasmlib.c: In function ‘fwriteint32_t’:
~

・インストール
$ sudo make install
[sudo] password for hoge:
mkdir -p /usr/local/bin
/usr/bin/install -c nasm /usr/local/bin/nasm
/usr/bin/install -c ndisasm /usr/local/bin/ndisasm
mkdir -p /usr/local/share/man/man1
/usr/bin/install -c -m 644 ./nasm.1 /usr/local/share/man/man1/nasm.1
/usr/bin/install -c -m 644 ./ndisasm.1 /usr/local/share/man/man1/ndisasm.1

これでインストールが完了しました。

・バージョンの確認
$ nasm -v
NASM version 2.05.01 compiled on Jun 17 2009

・アセンブラプログラミング入門のためのお勧め書籍の紹介
はじめて読むマシン語―ほんとうのコンピュータと出逢うために/村瀬 康治
¥1,264
Amazon.co.jp

いまどきのアセンブラプログラミング―Windowsプログラム解析・開発の独習/橋本 和明
¥3,150
Amazon.co.jp



・参考サイト
nasm のインストールと特徴