C言語で8086のマシン語プログラムファイルを生成する例.

  1. 次の内容の C言語のプログラム bbb.c を作成.
    #include 
    int main() {
      unsigned char c[14]={0xb0,0x02,
                         0xd0,0xe0,
                         0x04,0x30,
                         0x88,0xc2,
                         0xb4,0x02,
                         0xcd,0x21,
                         0xcd,0x20};
      int i;
      for (i=0; i<14; i++) putchar(c[i]);
    }
    
  2. shell で以下を実行してマシン語プログラムをファイル bbb.com に書き出す. なお MSDOS のこの形式のマシン語プログラムの拡張子はかならず .com
    cc bbb.c
    ./a.out >bbb.com
    
  3. bbb.com が格納されているフォルダが /home/user/dos だとする. dosbox を起動して dosbox に以下を入力. (keyboard は 101キーボードとなってるのでたとえば : (コロン) は shift ; (セミコロン).)
    mount c /home/user/dos
    c:
    dir
    
  4. 実行は dosbox で
    bbb
    
    4 と出力されれば OK. プログラムに誤りがあると暴走状態になる場合があるので, その場合は dosbox を x を押して終了. bbb.com を FreeDOS の flash memory に書き込み, FreeDOS を実機でこの flash memory から立ち上げれば(boot すれば), bbb.com を実機でも実行できる.