MS-DOS - みる会図書館


検索対象: 月刊 C MAGAZINE 1990年3月号
110件見つかりました。

1. 月刊 C MAGAZINE 1990年3月号

NEC98 32bit 機対応 旧 M コンバチ機 NEC98 32bit 機対応 ( 開発、実行には Pha 「 La ロ社 386 TOOLBOX も必要てす。 ) MicroWay 社 PharLap 社 NDP FORTRAN 386 386 T00LBOX NDP C 386 MetaWare 社 High C 386 386 の 82bit モードか使え、 速さは VAX8600 クラス しかも MS - DOS で 4 ギガの 386 プロテクトモードコンヾイラ リニアなメモリ空間が利用可能〃 MetaWare 社の High C 386 は、プロフェッショナルユ プロテクトモードにも、 286 のプロテクトモード、 386 のプ NDP FORTRAN386 と C386 は、プロテクトモード用 ースに耐える唯一の 386 のプロテクトモード用の C コン の最適化コンパイラで、非常にクオリティの高いコード ロテクトモードと、いろいろありま魂 Pha 「 Lap 社の ーパイラて魂 386CPU の 32 ビットプロテクトモードをタ をジェネレートしま魂このコンパイラは数値演算コプロ 386 TOOLBOX は、 386 の 32bit プロテクトモードをサ ゲットとする著名なデータベースソフトや、 CAD 、 AI& セッサをサポートします mW1167 の 20Mhz を使用した ポートするためのツールで、 386ASM 、 386 凵 NK 、 DTP ソフトなどのプログラムは、ほとんどがこの 場合、実行速度は VAX8650 と同等の性能となります MlNlBUG.386DOS-Extender 、 386L ー B 、 ( マイクロウェイ社べンチマークによる ) 。当社の製品 MetaWare 社の High C 386 コンパイラを使用して開 C 日 G386 から構成されま魂リアルモードとプロテクト 発されていま魂本製品には 9800 シリーズ用のプロテ は PC - DOS 用と NEC の MS - DOS 用があります モードとの間の橋渡しは DOS エキステンダーが行い クトモードコンパイラおよび日本語マニュアル ( 準備 ま当社の扱っている製品は PC - DOS 用と NEC の 機能 中 ) が付属しま魂 MS - DOS 用がありま MicroWay 社 NDP FORTRAN 386 148 , 000 円 〔 Pha 「 Lap 社弸 T00LBOX048 , 000 円 ) との組合せ価格 296 , 000 円〕 価格 価格 ( 開発、実行には Pha 「 La ロ社 386 TOOLBOX も必要です。 ) M W 社 High C 386 日本語版 148.000 円 MicroWay 社 NDP C 386 148 , 000 円 Phar [ 叩社 386 T00LBOX 〔 Pha 「 Lap 社 T00LBOX(148 , 000 円 ) との組合せ価格 296 , 000 円〕 〔 Pha 「 Lap 社弸 T00LBOX048 , 000 円 ) との組合せ価格 296 , 000 円〕 ( 開発、実行には Pha 「 La ロ社 386 TOOL_BOX も必要です。) ( 開発、実行には Pha 「 Lap 社 386 TOOL 日 OX も必要です。 ) 機能 機能 機能 ■アセンプラとリンカーを利用することにより、プロテ ■ 80386 の 32 ビットプロテクトモード対応のコードを生 クトモードのプログラムを開発することができます。 •NDP FORTRAN386 と C386 は、 80386 のネイテイプコ 成します。 ■プロテクトモードとリアルモードのミックスモ = ドプロ ードを生成する最適化コンバイラです。またインライン ■コンパイラの言語仕様は ANSI C の仕様を満たして クラムの開発も可能です。 展開によるコプロセッサ用コードを生成します。 ~ ~ いまコンバイラのオプションスイッチや pragma 指 ーアセンプラ、リンカ、ライプラリアンは、当社の •tv1S FORTRAN と R/M FORTRAN VAX FORTRAN から 定を用いて言語仕様や生成するコードについて細か NDP FORTRAN386 、 NDP C386 、 High C386 をサポート の移植を容易にするための拡張機能をサポートして 小指示ができ、必要ならば AN 仕様をオフにしたり します。 います。 他の C コンバイラとの互換性をもたせたりすることも可 ・ 32bit モードで指定したファイルの実行が終了する ENDP FORTRAN は倍精度複素数をサポートします。 能で魂 と、 M $ DOS に復帰します。 ■ FORTRAN77 フルセットコンノヾイラであり、 ANSI X3. ・ネストした関数を定義したり、いくっかの関数をイン ・ DOS エキステンダーは MS - DOS のファンクションリク 9 - 円 87 と DOD の M に STD ロ 53 、さらに UN Ⅸの f77 の拡 ライン展開させたりするなどの拡張機能があります。 工ストをサポートします。 張機能とを完全に満たしています。 ■浮動小数点演算に関してはソフトウェア工ミュレー ■ DOS エキステンダーは、プロテクトモードからリアル。 ■ 80386 のプロテクトモードで実行されるため、開発 トや 80387 はもちろん、 weitek 社の 3 7 チップのイン モードのサフル -- チンや割り込みを呼び出す機能を するプログラムの大きさは事実上制限がなく、また 4 ラインコード生成やライプラリがサポートされていま 提供していま魂 ギガバイトのメモリ空問をサポートします。 、■漢字を含む文字列を正しく処理できます。 必要な八一ドおよびソフトウェア 必要な八一ドおよびソフトウェア ■最適化処理としては共通部分式の削除やデッドコ ードの除去、ジャンプの最適化、変数のレジスタへの ■ 80386 を CPU とする PC コンバチ機、あるいは ・ 80386 を CPU とする旧 M - PC コンバチ機、あるいは 自動的な最適割り付け、定数のたたみ込みのほか、 98 田 (XL2 、 RA 、 LS 、 RL 、 ES 、 RA2レ引、 (S)O ( / ーマル 98 田 (XL2 、 RA 、 LS 、 RL 、 ES 、 RA2 レ引、 RS)O 数々の手法が駆使されています。 モード / ハイリゾモード自動対応 ) EPC-H98model 70 BPC-H98model 70 ( ノーマルモード / ハイリゾモード。 •EPSON PC-386 、 LS 、 V0 必要な八一ドおよびソフトウェア 自動対応 ) •PharLap 社 386 TOOLBOX0 ・ 80386 を CPU とする 98 田シリーズ ( XL2 、 RA 、 LS 、 R し、 EEPSON P0386 、 LS 、 VO ・ PC - DOS の 3.2 より新しいもの、あるいは PC98 用 ノ ES 、 RA2レ引、 RS)Q ■ PC - DOS の 3.2 より新しいもの、あるいは PC98 用 MS - DOS3.3 以上。 ■ PC-H98modeI 70 MS - DOS3.3 以上。 ・ハードディスクに 2 メガバイトの空き領域。 NEPSON PC ・ 386 、 LS 、 ■マザーポード上に 640K 十 2M バイトのメモリ ( プロテ ・PC98田の MS-DOS ve 「 .3.3 以上。 クトモード用増設メモリ 2M 以上を設置 ) 。 EPharLap 社 386 TOOLBOX0 ■数値演算コプロセッサ 80287 、 80387 、 weitek Ⅱ 67 、 引 67 が使用できます。 148.000 円 お問い合わせコンピュータ事業部丁 EL ( 0474 ) 23 ー 1322 FAX ( 0474 ) 23 ー 0202 仮想記億マネージャー 98 版 Pha 「 Lap 社 386VMM ただ今、準備中。 すべての価格に消費税は含まれていません。 韲テッりソフト & プー辷ユ株式会社 (TSS) 社〒 273 千葉県船橋市本町 7 一日 -5 レランドセンタービル 5F 本 コンビュータ事業部〒 273 千葉県船橋市本町 3 ー 32-20 東信船橋ビル 2F 3 月絽日よりコンビュータ事業部は本社住所に移転いたします。

2. 月刊 C MAGAZINE 1990年3月号

SOFT BANK コンピュータブックス 日本ソフトバンクの電脳本 ASSEMBLY, PASCAL MS-DOS ・プロクラミンク & リファレンス MS-DOS3.3 広範な各種リファレンスと、 C によるプログラムを 満載 ONEC 製 MS-DOS はもちろん、エプソン製 MS ー 平沢正之著☆定価 2 , 200 円 DOS にも対応。 ・ MS - DOS 実用マスターシリーズ② 新 MS-DOS 入門シニア編 シリーズ第 1 巻に続き、高度なバッチ処理の方法や、 環境設定の知識、各コマンドの最も有効な活用方法な 林晴比古著☆定価 2 , 3 圓円 どを伝授。 ・ MS ー DOS 実用マスターシリーズ① 新 MS-DOS 入門ビギナー編 入門者にとって本当に必要な知識を段階的に解 バージョン 3.3A まて、をフォローした MS - DOS 実用マ スターの決定版。 林晴比古著☆定価 1 , 900 円 ・ビジネスソフトユーサーのための OS 入門 ・ Master book シリース MS - DOS いたれりつくせり本 EMSi 最新 EMS ・日 AM ティスク入門 アプリケーションソフトユーザーが効果的な、、ファ 最新のハードウェア EMS 対応 RAM ポードを中心に イル整理〃をするための MS-DOS 入門書。 その基礎から活用まて、をわかりやすく解説。 佐藤みどり著定価 1 , 800 円 弘重雄 = ・中山雅彦共著☆定価 2 , 500 円 ・ビギナーのためのレクチャーブック プレイ MS - ロ OS ・ Master book シリーズ 判デク プレイ MS-DOS 嘶 最新ハードティスク入門 PLAY MS-DOS を学ぶうえて必要な知識と必要て、ない知識 より身近になったハードディスクの選び方、見逃せ M S ー とをふりわけ、初めての人にて、も無理なく学べる入門 ないポイントとしての基礎知識をわかりやすく解 D 〇 S 林晴比古著定価 1 , 900 円 森俊也・山本潤一共著☆定価 2 , 600 円 ・楽園パソコン、アミーガ遊覧読本 AMIGA PARADISE グラフィック・音楽などに強いパソコン「アミーガ」 の国内初のガイドブック。 DOS コマンドの解説もつい ていて、とても便利。桃園隆夫著☆定価 3 , 200 円 ・ラップトップ入門 PC -286L ブック 注目のラップトッフ。パソコン PC -286L 。その仕様と オペレーション、使える周辺機器、ソフト環境などを 丁寧に解 今井信行著定価 1 , 700 円 ・初心者からの実用ハードウェア製作 続・ PC 工作入門 PC シリーズのパソコンに接続して、さまざまな機能 を引き出す、 ードウェア工作の入門書。 斎藤浩之著定価 1 , 800 円 ☆印は税込み、無印は税抜きの定価です。 ・ MACR086 ( MASM ) 活用テクニック 8086 マクロプログラミンク MS-DOS 上て動作するアセンプラ MACR086 に焦 点をあて、その使いこなし方、デバッグの方法を詳細 西村義孝著☆定価 2 , 680 円 に解説。 ・最も確実で、やさしい入門書 TLJRBO PASCAL Ve 「 5.0 プログラミング 本物のプログラマを志す人の TURBO PASCAL 最新入門書。 高田直樹著☆定価 3 , 300 円 LANGUAGE を世尹邑望 ツロ 0 っン 0 産リつ′レンス プロクラミン HARD イ ' BASIC 構造化プロクラミンク方法論 Quuck BASIC Quick BAS ℃プログラミンク フロクラミンク 基本操作はもちろん、構造化プログラミングの方法 まて、も詳解する。便利なサカレーチンなどを多数掲載。 野口雄平・金田知之・高木聡共著☆定価 2 , 000 円 ・より良く、美しいプログラムを書くために 日 AS ℃による プロクラ三ングスタイルブック = BASIC による プログラミンクスタイルブック より良く、美しいプログラミングの工ッセンスを、効率 よくまとめたイ去書。林晴比古著定価 1 , 800 円 PC -286 しフック P@ 作ド

3. 月刊 C MAGAZINE 1990年3月号

List 5 GrpData. circlel GrpData. circlel. GrpData. circlel. paIette=PaIette; GrpData. circlel. cirtype=Cirtype. BOOOOH - BFFFFH ノーマ丿レモードの機種 COOOOH - CFFFFH COOOOH - C7FFFH C8000H - CFFFFH BOOOOH - BFFFFH COOOOH - CFFFFH COOOOH - C7FFFH C8000H - CFFFFH BOOOOH ー BFFFFH 194 : 196 : 197 : 198 : 199 : 2 圓 : 201 : 202 : 203 : 204 : 205 : 206 : 207 : 208 : 209 : 210 : 211 : 212 : 213 : 214 : 215 : 216 : 217 : 幻 8 : 219 : return( (*(GL->FUNC[14])) ((unsigned long) ( int far *)&GrpData) Flag. Palette, Cirtype. Dummy, し inepattern, Pattern, int func 20a(Reserved, 0p, Cx. Cy. R. Startx. Starty. Endx, Endy, Extpattern, Fi llflag, Fi 日 c 引 0 「 ) 220 : 221 : 222 : 223 : 224 : 225 : 226 : 227 : 228 : 229 : 230 : 231 : 232 : 233 : 234 : 235 : 236 : 237 : 238 : 239 : 240 : 241 : 242 : 243 : } 244 : 245 : / * NO. 20 / 1 円の描画 . タイルバターンを使用しない * / unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned long i nt int int int int int int int Char ー ong unsigned Char unsigned unsigned unsigned unsigned unsigned unsigned Char Char int int Char long Reserved; 0p; Cx: Cy : R : Startx: Starty: Endx; Endy; 日 ag : Palette; Cirtype; Dummy : い nepattern; Pattern; Extpa ttern : F i Ⅱロ ag : F i Ⅱ col or : / * 予約パラメータ / * ラスタオペレーション番号 / ネ x 座標 / * y 座標 / * 半径 / * 点画フラグ / * 線の色を決めるパレット番号 / * 線の福 / * 塗りつぶしフラグ . reserved=Reserved; GrpData. circlel. flag=FIag; GrpData. circlel. r=R; GrpData. ci 「 c 1. cy=Cy; GrpData. circlel. op=0p; GrpData. circlel. fillflag=Fillflag; / * 塗りつふしカラーパレット番号事 / GrpData. circlel. fillcolor=Fillcolor; return( (*(GL->PUNC[20])) ((unsigned long) ( int far *)&GrpData) ) : [ 表 6 ] 機種とページの関数表 日本語 MS-DOS Ver. 3 . 3 B まず最初に ,MS-DOS Ver. 3.3 と 3.3B に ついて基本的な違いを明確にしておこう。 日本電気が提供している MS-DOS のバー ジョンは , マイクロソフトや IBM が出荷し ている MS-DOS のバージョンと同期をとっ ているわけて、はない もちろんエプソンが 出荷している MS-DOS とも同期がとられて いるわけて、はない。つまり , このバージョ ンは日本電気によって独自につけられてい るバージョンと理解したほうが正しいとい える。そのなかて、 Ver. 3.3 は , 3.3 , 3.3A と 3.3B というノヾージョンに分かれている。し たがって , Ver. 3.3 には 3 つのバ、一ジョンが 存在することになる。さらに正確に説明す ると , Ver. 3.3 には内部バージョンという公 表されていないバージョンが存在している。 そのため , 厳密にいえば Ver. 3.3 といっても 正確に識別て、きないのが現状て、ある。 日本電気の説明によると , Ver. 3.3 は 16 ビ ット CPU ューザが対象て、あり , Ver. 3.3A は 386CPU ューザが対象だとしている。そし て , Ver. 3.3B は Ver. 3.3A の機能が更新さ れたバージョンとしている。たしかに , 386 マシンユーザには , 更新のニュースが届け られているが , 16 ビットユーザにはそのニ ュースが届いていないという事実がある。 Ver. 3.3 はこうした特異なバージョンて、あ 0 CMAGAZINE 19 3 るという理解を前提に , 実際にどの機能が RL, RA, ES, LS, RS 使用機種 X L2 機能の違いに絞って説明する。 更新されたかを , Ver. 3.3 と Ver. 3.3B との 八イレゾリューションの機種 RL, XL2 /F, / D , / U の指定 省路または /F=BOOO /F=COOO /F=COOO/D /F=OOOO/U 省路または /F=BOOOO /F=COOOO/U /F=COOOO/D 省路または /F=COOOO /F=BOOOO ページフレーム アド レス 物理 ページ 4 4 2 2 2 2 4 4 0 4 辛見に追加された コマンド / ドライノヾ 1 . EMM386. SYS ◆ このドライバは 386 または 386SXCPU 使用 時に , 640K バイト以上のメモリを仮想 8086 モードに割りあて , EMS メモリとして使用 可能にするドライバて、ある。メガソフトか ら市販されている MEMORY-PR0386 によ く似た製品と考えればよい。対象機種は , XL, RA, RL, LS, ES て、 , エプソンの 386 , 386 V て、も使用可能て、ある。 DEVICE=EMM386. SYS [/P= xxx] [/F=XXX] [/D I/U] P は , 拡張メモリに割り当てるべージ数を 指定する。 1 ページは , 16K バイト単位て、あ る。 F は , 使用するべージフレームのアドレ スを指定する。 D または U のオプションはど ちらかを指定することて、 , 実装されていな い拡張 ROM のアドレスに設定て、きる。詳し くは , 表 6 , 表 7 を参考にしてもらいたい 2. PATCH コマンド このコマンドにより , 指定されたファイ ルの内容を 16 進て、変更て、きるようになった MS-DOS Ver. 2.11 から動くことが確認て・ ジョンを問うことはなく , 簡単に動作する。 いえる。このコマンドは , MS-DOS のバー FILEEDIT コマンドのほうが使いやすいと が , 比較すると , 圧倒的にエプソン製の -DOS にもサポートされるようになった。だ なかったが , Ver. 3.3B から日本電気製の MS (FILEEDIT コマンド ) にしか提供されてい 今まて、は , この機能はエプソン製の MS ー DOS 1 . CUSTOM . EXE 、 0 ◆機能強化されたコマンド 2. USKCGM . EXE れた。 定て、きるデバイスにフォント指定が追加さ の作成機能をもっているが , そのときに指 このコマンドは , CONFIG. SYS ファイル 80

4. 月刊 C MAGAZINE 1990年3月号

00 最新 , 入門 するしかなかったが , OS / 2 て、は , 親子を同 時に動かすことがて、きる。この親子のプロ セスが行うことのて、きる範囲は非常に広い ことからくる制限て、ある。したがって , 新 しい OS は新しい CPU を必要とする。それが 80286 て、あり , 80386 てある。 OS / 2 は最終的 には 80386 の上て、動かすことを目的としてい るが , 現時点て、は , 286 版をベースにした標 準版が提供されている。 一般に OS / 2 を稼動させるためのシステム ・ 20MB 以上のハードティスク ・ 4MB 以上のメモリ ・ 1 台以上のディスクドライプ ・マウス が必要だ。そのほかに , ディスプレイやキ ーポードなども必要なのはいうまて、もない PM の基本システムに最低限必要なメモリは 4MB, ハードディスク容量は IIMB て、ある。 これに DOS の互換ボックスを使用すると , さ らにメモリは 0.5MB , ディスク容量は 2.5MB はよけい必要になる。しかもこれは最低限 必要な容量て、ある。したがって , EXECL や 123 のようなアプリケーションを OS / 2 上て、使 うユーザは , さらにそれ以上のメモリやディ スク容量が必要になってくる。そのうえ , LAN マネージャなどの拡張版を使用するなら , さ らにメモリとディスク容量が必要となる。 OS / 2 のシステムは , MS ー DOS のファイル システムをそのまま使用している。したが って , OS / 2 専用のハードディスクは MS-DOS のコマンドて、も見ることがて、きる。パーテ ーションを切ってひとつのハードディスク を MS ー DOS 用 , OS / 2 用に分割することも可 能だ。 OS / 2 の特長のひとつに DOS 互換ポッ クスがあるが , これは OS / 2 のモードから MS -DOS を実行させることがて、きるというもの て、ある。ただし , DOS 互換ポックスて、 MS ー DOS を使用するためには OS / 2 立ち上げ時に CONFIG. SYS の中て、 OS / 2 はもちろんのこ と , 使用する MS ー DOS の両方の環境設定を すべて登録しなければならない AUTOEXEC. BAT は MS-DOS だけしか 使用せず , 0S/2 の場合は STARTUP. CMD というバッチファイルが使われる 00S/2< 0 / 2 の は , バッチファイルとして . CMD という拡張 子を用いている。 . BAT だと MS-DOS のモー ドと区別が難しいと思われるからだ。さら バッチコマンドがいくつか追加された。 また , OS/2 そのものはダイナミックリンク によって作成されている。これについては 「ダイナミックリンク」の項を参照してほ 0 / 2 ・スレッド ・プロセス ・スクリーングループ OS / 2 には重要な概念として , しい スの生成時に親プロセスは一時停止か消滅 成があげられる。 MS-DOS て、は , 子プロセ プロセスの機能としては子プロセスの生 これが分割の基準となる。 実行する長さがスレッドの単位になるのて、 , れるのだろうか ? CPU が一度に連続して とがて、きる。ては , どの程度の分割がなさ ッドはその作業を分割したものと考えるこ かの作業が含まれているといえるが , スレ 成されることもある。プロセスにはいくつ ひとつのプロセスはひとつのスレッドて、形 のスレッドが集まってて、きたものて、ある。 ドという。つまり , プロセスは , いくつか このプロセスを構成している単位をスレッ メモリ容量 , 特権レベルなどがあげられる。 この資源の代表的なものとして , 使用可能 て、きるすべての資源を総称したものて、ある。 セスとは , ロードされたプログラムが保持 を発生させるからて、ある。こて、いうプロ の書き込みについては , 物理的なアクセス マウスイベントの取得 , そしてスクリーン 作業を形成する。キーポードの読み取り , スと結びついており , これによりひとつの また , このスクリーングループはプロセ は仮想的に保持される。 ループはこのうちのどれかひとって、 , 残り れる。ユーザが使用しているスクリーング し , 最大 16 組まて、 OS / 2 によってサポートさ イスプレイ , キーポード , マウスの 3 つをさ の 3 つがある。スクリーングループとは , デ ため , こて、はそのすべてを網羅すること はて、きない たとえば , 親プロセスが使用 していたスクリーングループを子プロセス て、用することも可能て、ある。 DLL MS-DOS て、は , 実行時にライプラリや必 要なファイルはリンクの際にすべて結合さ れていなければならなかった。 ところが , OS / 2 て、は , 実行時に必要なライプラリをデ イスクにあるライプラリファイルから抜き 出し , メモリ上て、結合させて , プログラム を稼動させる方法が提供された。これをダ イナミックリンクライプラリ (DLL) とい う。この方法だと , ほかのプログラムが同 じライプラリを使用する場合て、も , メモリ 上にはひとつのライプラリがあるだけて、よ く , 後はすべて OS / 2 が行ってくれるように なる。さらに DLL て、は , プログラムとライ プラリのリンクと同様にライプラリとライ プラリのリンクもメモリ上て、行われるのて、 , ほかの DLL の参照も自由に行うことがて、き る。 OS/2 のカーネルには DOSCALLS とい う名前の DLL が提供されているし , OS / 2 の 主要なサプシステムて、あるキーボ、一ドやビ デオ , さらにはマウスも DLL て、ある。 OS / 2 て、は , 当初 MS-DOS のように割り込 みを基本とした関数呼び出しを行っていた が , アプリケーションプログラミングイン タフェイス (API) といわれるどの OS / 2 て、も 共通した呼び出しが提供されるようになっ た。この API は OS / 2 のバージョンによって だいぶ変化している。その違いを知るには , 実際にひとつひとつ試すしか方法がない また , 日本語特有の API も検討されており , 現在て、はそのドラフトが作成されている段 階だ。さらに , DOS 互換ポックスの MS-DOS て、使用するための API も提供された。これ を , ファミリーアプリケーションブグラ 特集最新 OS / 2 入門 API

5. 月刊 C MAGAZINE 1990年3月号

ミングインタフェイス (FAPI) と呼んて、お り , BIND という OS/2 用のユーティリティ を使えば FAPI て、作成された DOS 用のアプリ ケーションプログラムを OS / 2 て、も稼動させ ることが可能になる。ただしこれは , MS- DOS ( 互換ポックス ) のアプリケーションを OS / 2 上て、動かすことに重点がおかれてお り , OS / 2 の本来の機能を発揮させるものて、 はない マイクロソフトの C コンパイラ MS-C Ver. 5.1 は OS / 2 上て、コンパイルとリンクを 行うことがて、きる。 MS-C のパッケージには DOS 用と OS / 2 用が組み合わされて販売され ており , OS/2 用プログラムの開発はもちろ んこの MS ー C を使って OS / 2 上て、もて、きる が , DOS 上て、も可能になっている。 OS/2 の ライプラリを使えばよいのだ。なお , この OS / 2 用のライプラリは OS / 2 のソフトウェア 開発ツール (SDK) にしか提供されていない のて、注意を要する。ちなみに , QuickC て、は OS / 2 用アプリケーションの開発は不可能て、 ある。 リムレモードと プテクトモード 80286 / 80386CPU には , リアルモードとプ ロテクトモードというふたつのモードがあ る。これについては次項て、説明するが , 簡 単にいえばリアルモードは 32 ビット CPU を 16 ビット CPU にして使うモードて、 , プロテ クトモードは複数のプロセスを動かすため の機能を付加したモードといえる。さらに 単純に図式化すれば MS ー DOS はリアルモー ドを ,OS/2( や UNIX などのマルチタスク OS ) はプロテクトモードを利用する。したがっ て , 286 / 386 マシンがあっても , MS-DOS を 動かしているかぎりて、はプロテクトモード が使えないのて、 , たんなる高度 8086 マシン て、しかない。 OS / 2 はプロテクトモードを利 用するために , 286 の機能を使うことがて、き るし , 386 に対応て、きるようになれば DOS 互 34 CMAGAZINE 19 3 MS-C 換ポックスて、はリアルモードを利用するこ ともて、きる。 286 て、はプロテクトモードに入 ると , リセットしないかぎりリアルモード には人れないのて 286 の DOS 互換ポックスは ソフト的に実現するしかないが , 386 ならば リセットすることなしにリアルモードに移 ることが可能だし , 仮想 86 モードが追加さ れたのて、 , 386 上から 8086 モードを利用する ことがて、きる。 このように OS / 2 て、は , このふたつのモー ドを使用て、きるが , いうまて、もなくプロテ クトモードのほうが OS / 2 の本来の機能をは るかに発揮させるプログラムを作ることが て、きる。 また , このモードて、は , コンパイル / リン クそして実行という MS ー DOS 上て、同様の操 作を行うスタティックリンクという一般的 なプログラムの作り方以外に , 先に述べた OS / 2 本来のダイナミックリンクという方法 て、プログラムを作ることがて、きる。 リアルモードて、動くリアルモードプログ ラムの作成については , 作り方は同じだが , 呼び出す関数がいくっか異なっている。そ れゆえリアルモードつまり DOS 互換ボ、ツク スは , そこて、プログラムの開発を行うのて、 なく , 既存の DOS プログラムを動かすため に使うほうが適切て、あろう。したがって , DOS 互換ポックスを用いる際 , どのような プログラムが動くか , みきわめておく必要 がある。 実際には , 日本電気の OS / 2 Ver. 1.1 バ ージョンと PC ー 98RA2 十 80MB を基本にして 調べた。この Ver. 1.1 滝バージョンは , 正式 に出荷されるものと多少の違いがあるよう だ。筆者が本特集を書いている時点て、は , まだ出荷されていないのて、詳しいことはわ からない 0 S / 2 上での開発 OS / 2 上て、のプログラム開発は , マイクロ ソフトの MS-C Ver. 5.1 を使うのが一般的 て、ある。そうて、なければ , 日本電気より出 荷されている Ver. 5. IA を使う必要がある。 現在 , 市販されている MS ー C Ver. 5.1 に は , MS ー DOS 上て、開発を行う今まて、の MS ー C と OS / 2 上て、コンパイルが可能な MS ー C が同 じパッケージに組み込まれている。したが って , 使用する際はこれを使い分けねばな らない。もちろん OS / 2 て、コンパイルとリン クをする以外に MS ー DOS 上て、 OS / 2 用のプロ グラムを作ることもて、きる。どちらにして も使うライプラリは , OS/2 用のものを使わ ねばならない。これは余談になるが , MS- C Ver. 5.1 をインストールするときに , フロ ッピーディスクをそのままコピーしてはい けない。 MS-C Ver. 5.1 には , 必ずインス トール用のプログラムが添付されており , そのプログラムを使用しなければならない ディスクからそのままコピーしたものて、は 結合ライプラリの作成がて、きないために 「ライプラリがない」というメッセージが 出て , 新たなライプラリ名の入力待ちにな ってしまう。 もちろんリンカも OS / 2 用が提供されてい る。 OS/2 におけるプログラムの開発は , のように環境整備が非常に重要になってく る。しかも , このような開発に関する環境 整備の情報が , OS / 2 のマニュアルにも MS -C Ver. 5.1 のマニュアルにもほとんどな い。試行錯誤の世界て、ある。バージョンが 変われば環境整備もほとんどやり直しに近 くなってしまうのて、ある。 実行ファイルのヘッダい MS-DOS 用のプログラムを OS / 2 上て起動 させると , 次のメッセージを出力して OS/2 のプロンプトに戻ってしまう。 SYS1107 : プロセスを正常に終了することてきません また , OS / 2 用のプログラムを MS - DOS 上 て、実行させると , やはりメッセージを出力 して DOS のプロンプトに戻ってしまう。 のとき , 出力されるメッセージがいくっか 異なっている。 MS ー DOS て、は使用て、きません This program cannot be run in DOSmode. This program requires OS/2 Presentation Manager. これは OS / 2 を PC ー 9801 シリーズに移植し 日本語化するときに生じたものと思われる。

6. 月刊 C MAGAZINE 1990年3月号

のを 高速・コンパクトなコードを生成 レジスタの最適自動割り付け レジスタによるパラメタ渡し アセンプリ言語の埋め込み記述可 ANSI 準拠・プロトタイプ宣言を完全サポート ターゲット CPLJ : 8080 / 8085 / Z80 / 64180 ■ CP / M 版セルフ・ CP / M -80Ve 「 . 2.2 以上、メモリ 60K CP / M 以上必要 ■ MS - DOS 版クロス アセンプラ・リンカ付き コンパイラ・ドライバ IJN Ⅸコン / ヾチ・プログラム保守ツール make ライプラリ、コンパイラ・ドライバ、プリプロセッサのソース付き MS-DOS Ver. 2.11 以上、メモリ 384KB 以上必要 . 近日発売、 LS ℃ -80 ( MS - DOS 版クロス ) のソース・レベル・クロス・テパッガ LDB-80X ・ LS ℃ -80 で開発したプログラムを、 MS-DOS 上 (PC-98) でソース・ レベルテノくッグ ・操作性に優れたウインドウ指向テパッガ ■ UN Ⅸ版クロス NEWS Sun-3 VSX ぐノリーズ、、 Kurama ・ SX -9100 シリーズ、 LUNA ・ HP9000 モテル 300 シリーズ )station 200 ・ MicroVAX ・ VAX -11 ・・ ※その他の機種については、こ相談に応じます。 0 の LS ℃ -80 ・・ \ 98 , 000 円 ・ Y98 , 000 円 ま 4 ン セット価格 128 , 000 円 ・・ Y398 , 000 円 ・ Y398 , 000 円 ・・ Y398 , 000 円 ・・ Y398 , 000 円より ・ Y398 , 000 円より ・ Y398 , 000 円 ・ \ 498 , 000 円 ・ VI , 280 , 000 円 ターゲット CPIJ : 8086 ROM 化ツール標準装備 far ・ near キーワードをサポート UNIX の cc と同様の使いやすいコンパイラ・ドライバ UN Ⅸコン / ヾチ・プログラム保守ツール make ライプラリ、コンパイラ・ドライバ、プリプロセッサのソース付き アセンプラ付き MS-DOS Ver. 2.11 以上、メモリ 384KB 以上必要 ■取扱店 株弌諷 - - 工ル・エス・アイジャパン株式会社 〒ー引東京都渋谷区千駄ヶ谷一丁目 8 番号 〒刪東京都千代田区外神田トⅡ東京ラジオデバート 3F TEL ( 03 ) 404 ーロ代・ FAX ( 03 ) 478 ー 0576 TEL ( 03 ) 255 ーロ 53 代・ FAX ( 03 ) 255 ーロ 98 Y48 , 000 円 LS ℃ -86 ※標示価格に消費税は含まれていません。 ※ CP/M は Digital Reseach c. , MS-DOS は Microsoft corpo 「 ation のそれぞれの登録商標です UNIX は BeII Laboratories の米国内での登録商標です。 その他、商品名は各社の商標です。 ※ LDB ー 80X は京都マイクロコンビュータ株の商品です。 ・開発・発売元

7. 月刊 C MAGAZINE 1990年3月号

レ心 16M 640KB メモリ突破。大規模システム構築専用 C コンヾイラ 現在の 16 ・ 32 ピットパソコンの標準 OS として広範囲に利用されている MS- DOS の最大の問題点は、メモリ容量か最大 640KB もしくは 768KB しかない ことです。この欠点を補う方法として EMS などか提唱されていますか、メモ リプロックか 64KB 単位になるなど開発か難しいことか問題となっています。 より容易な解決策として、 80286 ・ 80386 のプロテクト・モードを利用したメモ リ拡張方法か注目されています。プロテクトモードでは、アドレス空間か 8086 の上限 1 M バイトから、 16M バイトに広がります。 Lattice C / 16M は、この 方法を使ってメモリ問題を一気に解決し、最大 16MB までのプログラム開発を 支援する開発システムとして提供されています。 Lattice C / 16M の特長 【対応機種】 PC ー 9800 FM 日 60 / 70 >J ー 3100 ( テ八ッガは英語モードのみ動作 ) >AX 仕様機 ( テノヾッカは英語モードのみ動作 ) ( 80286 / 80386 / 80486 搭載機 ) 価格 ¥ 488 , 000 •MS - DOS 標準ツール MS ー DOS からプロテクトモードを利用する方法は、 DOS 工クステンダと 呼ばれ、既に米国ては、多くの八ッケージソフトにも使用され、それをユー サーは何の違和感もなく、アプリケーションを使っています。 Lattice C /16M は LOtus ト 2 ー 3 「 1S3 を始め、多くのノヾッケージソフトて利用されて いる「 DOS / 16M 」と同一の手法で、これを実現しています。 Lattice C/ 16M はエンド・ユーサーにプロテクトモードを使用しているとは思わせるこ となく使用てきるようになっています。作成された製品を使うユーザーか確 認することは、ユーサーのパソコンに必要なメモリか搭載されているかどう かだけです。また、開発時にも、 MS ー DOS のリアルモード・プログラムの 開発の延長線上で、開発てきるように工夫されています。 080286 / 80386 / 80486 対応 Lattice C / 16M は 80386 ・ 486 に限らす、 80286 ても使用できるようになって います。 80386 ( SX ) を搭載した機種は、新製品として多くのメーカーから出 荷されていますが、実際に現在使用されている八ソコンや出荷台数では、 80286 搭載機の比重は大きなものです。 80386 でしか使用てきないプログラム ては、ユーザー数か限定されてしまいます。 Lattice C / 16M を使用すれ ば、その心配はありません。 Lattice C / 16M 主要導入実績 日本電気株式会社超 L 日 CAD 技術本部国際電気株式会社 ( 川頁不同 ) 日本建設コンピュータ株式会社 NTT 情報通信研究所 日栄コンピュータシステム株式会社 株式会社西村技研 >NTT 北海道支社総合通信システム部三洋電機株式会社情報技術センタ 日本たはこ産業株式会社生産技術研究所 株式会社ニレコ電子機器開発 株式会社島精機製作所 GS 開発課 株式会社アルモニコス応用技術開発室 株式会社ナムコ 八イテック株式会社 株式会社堀場製作所 トセイコー電子工業株式会社 丸紅八イテック株式会社 吉喜工業株式会社 株式会社川上製作所 宮崎医科大学 千葉経済短期大学 大成建設株式会社 株式会社プレインズ いすみやアイシー株式会社 株式会社オリエンタルソフトサイエンス 株式会社 SCC 株式会社東芝半導体システム技術センタ 株式会社東芝 ULSI 研究所 株式会社東芝小向工場 株式会社東芝総合情報システム部 日本電気システム株式会社 ヤマ八株式会社 株式会社ホルク電子 富士フアコム制御株式会社第 2 検査部 富士フアコム制御株式会社技術本部 ニチメンテータシステム株式会社 株式会社ナレッジ トヨタ自動車株式会社 東京工レクトロン株式会社 川崎製鉄株式会社ハイテク研究所 日軽情報システム株式会社 アドバンストシステムズ株式会社 株式会社テクノバ 日本上下水道設計株式会社 他 ■業界標準 Lattice C/DOS Ve 「 4.1 完全互換 Lattice C / 16M は、 MS ー DOS 上の実質標準である Lattice C がべー スになっていますから、特殊なコンバイラに乗り換える必要はありません。 過去のリソースを生かしてこその MS ー DOS です。 0 拡張メモリ標準仕様 XMS 準拠 EMS と並ん CLOTlJSaNTEL 、 MICROSOFT 、 AST RESEAR- CHh\ 提唱する拡張メモリ XMS(eXtended Memo 「 y SDecifica- tion ) のアプリケーション・インターフェースに準拠していますから、 XMS 仕様のテ八イスドライ八と共存できます。 0386 仮想 8086 モード制御プログラム インターフェース標準仕様 VC 曰準拠 80386 用の DOS 工クステンダ、 XMS ドライバ、仮想 86 モードを使った EMS ドライ八やマルチタスカの共通規約として米国で提唱されている VC 曰 ()e 「 tual Cont 「 P 「 og 「 am te 「 face ) に準拠していますから、 VC 曰に準拠したテ八イスドライノヾと共存することが出来ます。 覆数のパソゴシで開発する合、 。割安に購入するための * その他、フログラム名、システム名、 CPU 名は一般に各メーカーの ( 登録 ) 商標です。 * lntelßlntel, Corp. の登録商標です *L0tus は L0tus DeveIopment Corp. の登録商標です言 * MS 0S/2 は Microsoft, Co 「 p. の商標です。 * Microsoft 、 MS-DOS は Microsoft, Corp. の登録商標です。 * DOS / 16M は、 Rational Systems, 抦 c. の商標です。 * Lattice C/16M は RationaI Systems,lnc. と Lattice, lnc. の提携製品です。 * Lattice C/RT は株Ⅶ T システム研究所と Lattice , lnc. の提携製品です。 * Lattice は Lattice,lnc. の登録商標です。 ・ Copyright Notice 03 ー 293 ー 4714 ) までお問い合わせください。 コーポレートライセンスについては、凵 FEBOAT 営業 1 課 ( TEL : スて、不正使用の不安なくこ使用いただけるようにしております。 BOAT ては、まとめて割安に購入てきるコーボレートライセン を購入しないと不正コピーという事になります。そこで凵 FE- 販売されています。 5 台のパソコンて使うときは、 5 個のソフト 通常のバッケージソフトは 1 台のノヾソコンに 1 本のライセンスで 【お求め方法】当社製品は、八ソコンソフト取扱い店てお求めいたたけますが、弊社に直接こ注文の際は、 ※価格に消費税は含まれておりません。 凵 FEBOAT DEX 事業部 ( TEL : 03 ー 293 ー 3887 ) まてお問い合わせ下さい。 株式会社 LIFEBOAT 〒 IO ー東京都千代田区神田錦町 3 ー 6 PHONE : 03 ー 293 ー 47 Ⅱを FAX : 03 ー 293 ー 47 田

8. 月刊 C MAGAZINE 1990年3月号

三田典玄の 実践 C プログラマ 養成講座 第 0 回 C 言語とシステムエンシニアリング 力のうち , / キーの入力が あった場合にのみ , 通常のキーと違う動作 が起こるようになっている。これらのキー が押されるとキーボ、一ド BIOS 内部て、はこの ふたつのキーに限って , ソフトウェア割り 込みを実行して , キーの割り込み処理を行 うようになっている。 たとえばキーならば画面の , 、一 ドコピーの動作を行うし , ーキーなら ば現在動いているプログラムの中断処理を 行うわけて、ある。 Set98StopAndCopyKey( ) 関数て、は , そ のインタラブトべクタを書き替えて , 本来 行う処理て、はない処理を行う関数へその制 御を渡す。インタラブトべクタの書き替え をする前に , 現在のインタラブトべクタを MS-DOS の INT21/Function25 て、取ってお き , 再びー / ーキーを元の状態 に戻すことがて、きるように用意をしておく。 べクタの書き替え自身は MS-DOS の INT21/Function35 て、行う。 べクタを書き替えた後 , たとえば キーが押され , ソフトウェア割り込みが発 こて、は stpintr というラベル 生すると , のアセンプラルーチンに制御が渡る。 ベルて、 , どのキーが押されたかを調べ , 押 このルーチンて、は , たんにグローバル変 詳しくはソースリストをじっくり見てい 数て、ある f ー stop ( C 言語て、の名前。アセンプ されたキーがたとえば MS ー DOS て、トラップ ただきたい されるものて、あれば , ROM ー BIOS から読ん ラて、は f ー stop になる ) に 1 を入れるだけ。 今月はちょっとしたライプラリのお話を て、きて , MS-DOS て、トラップされないもの そして , この f st0P を読みにいくマクロ もちろん , この程度のライプラリだ した。 て、あれば MS - DOS から読んて、くるというこ が「 HIT_STOP 」ということになる (List2, けて、はまだまだ商用アプリケーションに使 とを行っている。 3 参照 ) 。 える , というわけにはいかない しかし , このマクロて、は値を読み出すのと同時に こうしたライプラリを自分なりに , あるい f ー stop 変数の値を「 0 」にリセットする。 は会社なりにそろえていくことが「財産」を というメカニズムになっているわけだが , 増やすということて、ある。この先は読者の この一 / キーの割り込みがハ みなさんの努力に任せることにしよう。 ードウェア割り込みだと信じていた ( そうい はじめに酒にまかせて過激な文を書きす うプログラムを雑誌に発表して大恥をかい ぎたせいか , 読者や周囲から「最近はおとな た ) プログラマもいたが , そんなことはない しくておもしろくない」というコメントを List4 は ROM-BIOS て、発行するソフトウェ いただいている。きわめておとなしい性格 ア割り込みて、ある。ハードを知らないプロ の筆者にとって , 12 月号のような文章を書 くのは苦痛なのだが・・・・・そういうご意見が グラマのままて、は悲しいものがある。 もうひとつの kbhit( ) 関数と getch( ) 関数 多いのて、あればまた書くかな , と思う今日 このごろて、ある。ご期待していただきたい の代わりのふたつの関数は , ROM ー BIOS レ List 4 - ト 0 々ー 8 0 1 ・ワなっ 0 -4 ・ - -0 ″ー 8 0 1 ーっ 0 っ 0 -4 ′ 0 CD ー 8 0 1 一りも -4 ・戸 0 ^ 0 ″ー 8 0 ) 0 11 っ 0 -4 ・戸 0 ^ 0 ー 8 0 》 4 4 -4 -4 ・ -4 -0 -0 - -0 ′ 0 LD ′ 0 - -0 -0 ′ 0 ^ 0 CD CD CD CD 0 ー .7 ・ 0 ー 7 ・ . ーーー 7 ・々ー 7 ー 8 8 8 8 8 8 8 8 8 8 segread(&seg-reg) : (unsigned char)SENS-BUFF; inp—reg. h. ah DoI nt : if(out_reg. h. bh (uns igned char)O) return()Åし (E) : else return(TRUE) : PC98RomBiosBasedGetch() REGS inp-reg. out_reg; umon struct SREGS seg-reg; segread(&seg-reg) : (unsigned char)SENS_BUFF; inp_reg. h. ah DoI nt: if(out-reg. h. bh = (unsigned char)O) return ( の : switch(out-reg. x. ax) C_CTR し _c: case C_CTR し _p: case C_CTR し _S: case C_CTR し _Q: case segread(&seg-reg) : (unsigned char)READ-BUFF; inp-reg. h. ah DoInt ; switch (out-reg. x. ax) C_CTR し _C: case return(S_CTRL_C) : C_CTR し _p: return(S_CTR し (P) : C_CTR し _S : return(S_CTR し (S) : C_CTR し _Q: return(S-CTR し (Q) : C_CTR し _N: return(S_CTR し (N) : return(getch()) : case case case case default: 2 94 CMAGAZINE 19 3

9. 月刊 C MAGAZINE 1990年3月号

MS-DOS プロクラミンク 入門 本誌創刊と同時にスタートした連載も , いよい ラフィックライプラリの概略を説明し , 第 2 部で は最新の MS - DOS Ver. 3.3B を取り上けて よ今号で最終回をむかえることになった。そこ で , 最後にふさわしく今回は今までとは異なっ みたい 0MS-DOS Ver. 3.3B は昨年 12 月にリ たものを , ということで最新 MS - DOS 情報を リースされたはかりである。どのような変更か 2 部構成でお届けしよう。まず第 1 部として , MS なされているか , 読者にとっても興味津々であ -DOS Ve 「 . 3 .3 から新たにサポートされたグ ろう。 ことばを耳にしているユーザも多い 己しておこう。 かと思う。だが , アクセスプログラムは基 以上のような改善が望まれる点を抱えて PC -98 のグラフィック 本的にアセンプラて、開発する以外に手段が はいるが , GLIO をサポートするよりもはる ないのて、 , アセンプラの知識が必要だった。 かに利便性が高いのは事実て、ある。 こて、 もちろんなかには汎用ライプラリとして提 MS ー DOS の Ver. 3.3 から新たな機能のひ は , MS ー DOS Ver. 3.3 , 3 .3A, そして 供されているものもあり , アセンプラの知 とっとして , グラフィックライプラリがサ Ver. 3.3B と , それぞれのグラフィックライ ポートされ , MS-DOS ューザはグラフィッ 識が必ずしも必要というわけて、はないが , プラリの概略を説明していこう。 それとて満足て、きるものは非常に稀なのが ク開発が容易に可能になった。関連するフ ◆グラフィックドライノヾの登録 実情て、ある。 ァイルは , 次のふたって、ある。 今回 , 日本電気からリリースされた MS ー ドライパファイルは , CONFIG. SYS ファ ・グラフィックドライバ GRAPH . SYS DOS Ver. 3.3 のグラフィックライプラリに イルのなかて、登録するか , ADDDRV/DEL ・グラフィックライプラリ より , GLIO をサポートするような煩わしさ DRV コマンドて、登録および削除するか , ど GRAPH . LIB を避けることがてきるようになった。しか ちらかの方法によらなければならない 従来は BASIC の GLIO という , グラフィッ も , 利用可能な言語が複数サポートされて CONFIG. SYS ファイルて、登録する場合は , クライプラリを MS-DOS から強制的に使う いる点も利便性を高める理由のひとつにあ 立ち上げドライプのルートディレクトリに のが一般的だった。そのためには簡単なア げられる。だが , 残念ながら現段階て、は、 GRAPH. LIB が存在していなければならな クセスプログラムの開発が必要て、、ほとん このグラフィックライプラリは学習用 , ま どのプログラムはユーザまかせて、あったり , い。登録されると、、グラフィックドライバ たはホビー用と認識したほうがよいかもし または , 雑誌などに掲載されていたものを が使用可能て、す〃というメッセージが表示 れない。機能が少ないこともあるが , それ もっともア 流用していたにすぎなかった。 される。 以上に処理速度が遅い。また , 実際の使用 ADDDRV コマンドて、登録する場合にも , クセスプログラムの作り方にもよるが , ラ イプラリだけを使うならプログラムはかな にあたって , マニュアルを一読しただけて、 カレントディレクトリに GRAPH . LIB がや はグラフィックライプラリを使ったプログ この場 はり存在していなければならない り小さくすることがて、きるだろう。おそら ラムが作れないことが判明した。マニュア 合い登録されると上記のメッセージが出 く 100 行前後て、ある。 ルの項目の冒頭に例題として掲示されてい 力される。 GLIO をサポートして使用することはかな る C 言語のサンプルプログラムがあるが , そ いずれの場合においても , 一度登録され り以前から行われていた。また , さまざま こにも初歩的なミスティクがあったこ ると , それ以後はグラフィク専用ファイル な書籍や雑誌などて、解説されており , GLIO 72 CMAGAZINE 19 3 C プロクラマのための 最終回最新 MS OS 情報 秋津彰文 尋 1 ロ

10. 月刊 C MAGAZINE 1990年3月号

00 最新 / 入門 40H をさしていることて、区別しているからて、 ある。さらに , OS/2 のプログラム開発て、 は , タイニーメモリモデルを使用すること がて、きない。そのため , 残る 4 つのメモリモ デル ( スモール , ミディアム , ラージ , ヒュ ージ ) しか使うことがて、きない 引 ND による作成方法 .3 Fig .2 . EXE ヘッダの動き Fig 18H 旧 19H X 形 3CH 40H XXX ℃ 40H コンバイル / リンク OS / 2 旧 . EXE ヘッダ FAPI . EXE 新 . EXE ヘッダ すて、に述べたように OS / 2 には , リアルモ ードとプロテクトモードの両モードて、実行 する機能がサポートされている。そのひと つに FAPI がある。 FAPI が使用されるプロ グラムの中て、は , DOS のメモリマップを OS / 2 用にエミュレートさせながら API を動かす のて、ある。だが , これだけて、は実際にはま だダメて、 , 最終的には BIND という OS/2 の ユーティリティにかけなければならない これて、プロテクトモードとリアルモードの 両方に動くプログラムが完成したことにな る。もっとも , この FAPI にはかなりの制限 があり , しかも含まれる関数は非常に少な い。 BIND の機能の意義は , OS / 2 用のプロ グラムを MS ー DOS て、も実行て、きるようにす ることて、 , プログラム中のダイナミックリ こうするこ ンク関数をすべて結合させる。 とて、 , ひとつの完結したプログラムを作り , MS ー DOS ても実行するようなプログラムに することがて、きるのて、ある ( Fig. 3 ) 。 両方のモードて、実行するためのもうひと つの機能として , スタブプログラムと呼ば SYC2. EXE れる方法がある。 FAPI による方法ては , ひ とつのプログラム内に両モードて、動く同じ スタブプログラム モジュールが存在していたわけて、はない ところがスタグプログラムによる方法て、は , 変更される可能性があるものの , いちおう いずれにしてもメッセージの内容はどちら 最終的に OS / 2 用のモジュールと MS-DOS 用 MS ー DOS の仕様に合わせている。さて , も同じようなものて、あるが , ューザにとっ のモジュールをひとつにまとめ , どちらの の . EXE ヘッダの動きは Fig. 2 のとおりて、あ てはなんともめんどうくさいことて、ある。 モードても実行させることがて、きるように このバージョンは滝バージョンなのて最終製 る。 するのて、ある (Fig. 4)。 この OS / 2 用の . EXE ヘッダは OS / 2 に読み 品に反映されているかどうかはわからない 込まれると , まず旧 . EXE ヘッダの値を参照 これらのメッセージの表示には , それなり する。そして , そのオフセット値が示すと の仕掛けがある。 MS-DOS の . EXE ヘッダ ころに新 . EXE ヘッダが存在する。もし MS は , 本誌連載の「 MS-DOS プログラミング -DOS がこの OS / 2 用の . EXE ヘッダを参照し 入門」の第 1 回て、示したとおりてあるが , たとすると , このプログラムは OS / 2 用て、あ OS/2 はこの MS ー DOS ヘッダの拡張した形式 ると判断する。これは 18H ー 19H にある値が を現在まて、のところ採用している。将来は 拡張形式 BIND API. 凵 B . EXE Fig. 4 定義ファイルによるスタブプログラムの作成方法 SYCI ℃ SYC2 ℃ コンバイル / リンク DOS コン / ヾイル OS / 2 SYC 1. EXE 定義ファイル XXX. DEF STUB' SYCI. EXE' リンク OS / 2 参照 メリ管理 OS / 2 のメモリ管理の機能は , インテルの 286 に基づいている。 286 の説明については , 特集最新 OS / 2 入門 35