アセンブラ
NASM
ソースから実行ファイルを作成するには
NASM の文法に則った foo.asm を作成する
以下のコマンドで foo.asm から foo.com が生成される
nasm foo.asm -o foo.com
何もしない 16 bit MS-DOS アプリケーション
NASM 文法に則ったソース
mov ah, 0x4c mov al, 0x00 int 0x21
レジスタ ah と al にそれぞれ 0x4c と 0x00 を格納し、 int 0x21 して、 MS-DOS にこのアプリケーションが終了したことを通知している
ah に 0x4c が 終了
al の 0x00 は正常に終了したことのしるし
int 0x21 で MS-DOS に通知
このソースから実行ファイルを作成すると、中身は
B4 4C B0 00 CD 21
こうなっている
B4 mov ah, 4C 0x4C B0 mov al, 00 0x00 CD int 21 0x21
それぞれ 1 対 1 で対応している
16 bit アプリケーションの実行
Windows XP で 16 bit アプリケーションを実行するには、 cmd.exe 内で一度 command.com を実行する
そうすると、 16 bit モードに切り替わる
すぐに exit する
16 bit モードが継続している
この状態で、 16 bit アプリケーションを実行する