MS-DOSについて


このページではMS-DOSについての情報をやりとりします。


システムコール

COMファイルの場合

  • ORGアドレスは0x100。
  • 最後が「int 20h」か「mov ah,0 int 21h」で終わっていないと暴走する。
  • システムコール割り込みは21h

EXEファイルの場合

http://ja.wikipedia.org/wiki/EXE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88

  • ORGアドレスは0xE0。
  • シグネチャは「0x4D 0x5A」。ASCIIだと「MZ」。(MS-DOS2.0の開発者の一人Mark Zbikowski氏のイニシャル。)

int 21h システムコール

レジスタ 内容 近い機能を持つC標準関数
ah=00h プログラムの終了 exit(0)
ah=01h 一文字入力 getche()
ah=02h、dl=(文字コード) 一文字出力 putchar()
ah=08h 一文字入力(入力したキーを表示しない) getch()
ah=09h、dx=(文字列へのポインタ) 文字出力(「$」で終了) printf()?
ah=

int 20h システムコール

int 20が実行されるとそこでプログラムが終了する。

コマンド

その他