-
Notifications
You must be signed in to change notification settings - Fork 10
/
README.DOC
51 lines (39 loc) · 3.23 KB
/
README.DOC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
本プログラムは、『はじめて読む486』に掲載された以下の実行ファイルを作成するためのものです。
章 ターゲット名 プログラム内容
-----------------------------------------------------------------------------
1 sieve_c 素数を求めるプログラム(C言語版)
4 testprot プロテクトモードへ移行する実験プログラム
5 rmseg リアルモードにおけるセグメント配置を確認するプログラム
pmseg プロテクトモードにおけるセグメント配置を確認するプログラム
putpmem プロテクトモードメモリに書き込みを行うプログラム
getpmem プロテクトモードメモリから読み込みを行うプログラム
sieve32 素数を求めるプログラム(32ビットセグメント版)
6 testgate コールゲートの実験を行うプログラム
7 hardint ハードウェア割り込みの発生を確認するプログラム
fault 故意に例外を発生させ保護機能を確認するプログラム
8 testtask タスク切り替え(マルチタスク)のプログラム
9 vsieve 素数を求めるプログラム(仮想記憶版)
11 intmon 割り込みの発生をモニターするプログラム
12 dpmiinfo DPMIの呼び出し方法を確認するプログラム
dpmisiev 素数を求めるプログラム(DPMI版)
13 revfile メモリマップトファイルの機能を使って並べ替えを行うプログラム
iomon I/Oポートのアクセスをモニターするプログラム
◆makeの仕方
本プログラムは複数のソースファイルをそれぞれコンパイル/アセンブルし、リンクして作成します。ここではこの作業をmake(VC++ではnmake)と呼ばれる開発ツールを用いて行います。makeはmakefileという名のファイルの指示に従ってコンパイラやアセンブラを呼び出し、ソースファイルのコンパイル/アセンブル、リンクを行い実行ファイルを生成します。一部のソースファイルが更新されたら、そのファイルだけコンパイル/アセンブルする機能も持っています。
makefileは、ソースファイルのディレクトリ(SOURCE)に“makefile.bc”および“makefile.vc”として用意してあります。ただし、makefileの内容はターゲットマシンによって若干異なりますので、リスト中のコメントを参考にして自分のターゲットマシンに合わせて変更してください。ここでは、AT互換機用に実行ファイルを作成するオプションが標準になっています。以下に、makeの実行の仕方を示します。
・Borland C++ 3.1の場合
make -f makefile.bc ターゲット名
・VC++ 1.0の場合
nmake -f makefile.vc ターゲット名
makeを実行すると“ターゲット名.exe”をファイル名とする実行ファイルが生成されていますから、それをコマンド名として実行してください。各プログラムの操作方法や、コマンドライン引数などについては『はじめて読む486』の本文を参照してください。
◆本プログラムの実行
本プログラムはデバイスドライバや常駐プログラムを一切組み込んでいない状態を想定して作成されています。マシンによって特定のドライバソフトウェアが必要な場合には必要最低限のものだけを組み込むようにしてください。なお、EMM386.EXEやHIMEM.SYSなどのメモリ管理ドライバなどは絶対に組み込まないでください。
プログラムを実行するときには、CONFIG.SYSおよびAUTOEXEC.BATを下の内容に変更してからMS-DOSを起動してください(dpmiinfo、dpmisievについてはWindows 3.1の動作する環境で実行してください)。
・CONFIG.SYS
FILES=20
BUFFERS=20
・AUTOEXEC.BAT
何も記述しない
プログラムを実行する際には、処理内容をよく理解した上で自分の責任において実行してください。例題プログラムを実行した結果については、著者およびアスキー出版局はその一切の責任を負いません。
蒲地 輝尚