writeシステムコールを直接呼び出し 今回第5回は、アセンブラに挑戦してみましょう。アセンブラでは、必然的にOSやCPUに依存したプログラムとなりますが、これは仕方ないところでしょう。 リスト1は、Linux(CPUはx86)版のアセンブラのHello Worldです。このプログラムは、C言語での「write(1, "Hello World\n", 12); _exit(0);」に相当します。アセンブラでは、ソフトウェア割り込み(int $0x80)でwriteシステムコールを直接呼び出してメッセージを表示しています。その後、プログラムを正常に終了するため、_exitシステムコールを呼び出して終了です。このように、Linuxのシステムコールでは、システムコール番号(eax)やその引数の値(ebx、ecx、edxなど)を、CPUレジスタに代入して渡します。 このプログラムは、実はもう少しコ