MS-DOS - みる会図書館


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

1. 月刊 C MAGAZINE 1990年3月号

う利点があります。 てすから OS のファンクションだけを利用 しておけば , 基本的にハードウェアに依存 しないプログラムを作成することがて、きま す。同じ OS 上て、あれば , どの機種て、も動作 するプログラムが作成て、きるわけて、す。 ただし , テキスト関連の機能については , 表示スヒ。ードが遅いということが欠点とし てあげられます。 といいます。 BIOS もファンクションコール 日 OS (Basic I/O System) このときに利用する機能を , ェアを制御しなくてはなりません。 の場合には , OS を飛び越えて直接ハードウ もない機能を利用する場合があります。そ ときには , OS のファンクションコールに 日 / OS ードを上げています。 て、は , 次に述べる BIOS を多く利用してスヒ。 そのため , ほとんどのアプリケーション 原因て、す。 したため , 走行ステップが多いことがその 元来英語専用て、あったものを日本語対応に ェックなどを行いながら動作することと , MS-DOS は , 表示するデータの変換やチ [ 表 1 ] ASC Ⅱ制御コード 記号 BEL BS HT VT FF CR SCJB ESC RS LF 16 進数 07 08 09 OA 0 日 OC OD 1 A 1 B 1 E 機 能 と同様に , ードウェア機能のなかて、よく Sound bell ブザーを約 1 秒鳴らします。 Cu 「 SO 「 backwa 「 0 カーソルを 1 文字左に移動します。 カーソルが 72 カラムより右側にある場合は 1 行下の左端に移動し , 最終行の場合は 1 08 , , 24 , 32 , 40 , 48 , 56 , 64 , 72 タブ位置は次のように決められています。 カーソルを次のタブ位置に移動します。 SkiP tO nexttab stOD 頭のコラム , 行 ) にある場合は何もしません。 カーソルが行の左端にある場合は 1 行上の右端に移動し , カーソルがホーム位置 ( 先 カーソルを 1 文字右に移動します。 Cu 「 SO 「 fO 「 wa 「 d もしません。 カソールを同じカラム位置で 1 行上に移動します。カーソルが先頭行にある場合は何 Cu 「 SO 「 IJD 行スクロールアップします。 カーソルを同じカラム位置で 1 行下に移動します。カーソルが最終行にある場合は 1 Cu 「 SO 「 down 行スクロールアップします。 ある場合は 1 行スクロールアップして左端に移動します。 カーソルが行の右端にある場合は 1 行下の左端に移動し , カーソルが最終行の右端に カーソルをホームに移動します。 Cu 「 SO 「 HOME 工スケープコードです。 lnt 「 OdUCe on ESC sequence C 日丁画面をすべてクリアします。カーソルはホーム位置となります。 Clea 「 SC 「 een カーソルを行の左端に移動します。 Cu 「 SO 「 tO left ma 「 gin 使われるものを関数としたものて、す。 BIOS はハードウェアそのものて、すから , 機種によって内容が違います。そのため BIOS を 1 個て、も利用すると , そのプログラムはそ のハードウェア専用プログラムになってし まいます。全機種対応というプログラムを 作成する場合には , ファンクションコール を利用してください のインタフェイスを受け持ちます。このた IO. SYS は , ハードウェアと MSDOS. SYS に常駐します。 MS-DOS が起動すると Fig. 2 のようにメモリ いうふたつのファイルから構成されてます。 MS-DOS は , IO. SYS と MSDOS. SYS と CMAGAZINE 1990 3 め , IO. SYS は機種によって異なります。 MS 96 ※ NEC rMS-DOS Ve 「 . 3. 3 B マニュアル」より List 1 csr_ POSit 1 : 2 : 3 : 4 : 6 : 7 : 8 : 9 : / * csr_posit csr_posit(int X, int Y) VO i d static char param[2]= (char)y + 0X20: param[3]= (char) x + 0X20 : printf("X. 4s",param) : return;

2. 月刊 C MAGAZINE 1990年3月号

三田典玄の 実践 C プログラマ 養成講座 第 0 回 C 言語とシステムエンシニアリンク List 2 Keyint. c 74 : } 78 : { 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 12 : 13 : 14 : 15 : 20 : 26 : 29 : 30 : 31 : 32 : 33 : 34 : 35 : 36 : 37 : 38 : 39 : 40 : 41 : 43 : 44 : 45 : 46 : 48 : 49 : 50 : 52 : 53 : 54 : 55 : 56 : 58 : 59 : 60 : 62 : 63 : 64 : 65 : 66 : 69 : 70 : 72 : 77 : 80 : 83 : VOid extern extern int int int int i nt i nt 28 : #define 27 : #define 25 : #define 24 : #define 23 : #define 22 : #define 21 : #define 19 : #define 18 : #define 17 : #define #include #include STOP-Key / COPY-Key / S 叩 port Copyr ight (c) 1990 CoreDump Co. Created by N. Mita (CoreDump Co.. Ltd. ) C- し anguage part routines 円 ease Use MS-C 5.0 0 「 later for The PC ー 9801 Series Personal Computer HardWare. . Ltd. く stdio. h> く dos. h> B00 し FA し SE TRUE INT_DOS GET_INT SET_INT INT_STOP INT_COPY HIT_STOP HIT_COPY f-COPY f_stop o-cpy-off = 0 : o-cpy-seg o-stp-off = 0 : o-stp-seg int ( 0 ) 0X21 0X35 0X25 0X06 0X05 / * B001ean Constants * / / * MS-DOS SYSTEM-CA しし s * / / * Get Vector Comnands * / / * Set Vector Conmands * / / * STOP-Key lnterrupt * / / * COPY-Key lnterrupt * / ( (f-stop) ? (f-stop=0. 1 ) : ( 0 ) ) ( (f-copy) ?(f-copy=0, 1 ) : ( の ) / * COPY Key f lags * / / * STOP Key flags * / / * 01d OFPSETS of COPY-KEY / * 01d SEGMENTS of COPY-KEY / * 01d OFPSETS of STOP-KEY / * 01d SEGMENTS of STOP-KEY interrupt interrupt interrupt interrupt vector vector vector vector stp intr() : int cpyintr() : int Set98StopAndCopyKey ( ) / * STOP-key lnterrupt / * COPY-key lnterrupt Service Service R EGS inpreg, outreg; un ー on struct SREGS segreg; segread(&segreg) : GET_INT; inpreg. h. ah : inpreg. h. al = INT_COPY; (void) int86x(INT-DOS. &inpreg, &outreg, &segreg) : segread (&segreg) : segreg. es : O-CPY-seg o-cpy-off = outreg. x. bx; / * Read 01d segread (&segreg) : inpreg. h. ah = GET_INT; = INT_STOP,• inpreg. h. al interrupt ()O (d) int86x(INT_DOS. &inpreg. &outreg, &segreg) : segread(&segreg) : o_stp-seg = segreg. es; o-stp_off = outreg. x. bx; / * Read 01d interrupt inpreg. h. ah = SET-INT : = INT_COPY; inpreg. h. al (unsigned) ((long)cpyintr 〉〉 16 ) : segreg. ds (unsigned)cpyintr; inpreg. X. dx (void) int86x (INT-DOS, &inpreg, &outreg, &segreg) : / * Set New interrupt vectors for COPY-KEY * / = SET_INT; inpreg. h. ah = INT_STOP; inpreg. h. al (unsigned) ((long)stpintr 〉〉 16 ) : segreg. dS (unsigned)stpintr; inpreg. X. dx (void) int86x(INT_DOS. &inpreg. &outreg,&segreg) : / * Set New interrupt vectors fo 「 STOP-KEY * / VOid Reset98StopAndCopyKey ( ) union REGS inpreg, outreg; struct SREGS segreg; segread(&segreg) : inpreg. h. ah = SET_INT; vectors vectors for COPY * / for STOP * / しい画面を作るルーチンなどは C 言語て、作れ ば , 実用的て、アセンプラ記述よりも読みや すいプログラムがて、きる。 C マガジンの読者には , C 言語を PC ー 9801 シリーズ上て、動かしている方が多いと思わ れるのて、 , PC ー 9801 シリーズて、動く機種依存 のライプラリの一部を紹介しようと思う。 最近は , やっとこういうライプラリも商品 として売られるようになってきて , またソ ースコードもお金さえ出せば買えるように なってきている。これはたいへんに喜ばし ことだと思っている。 以下に PC ー 9801 シリーズて、使える簡単なキ ーポード関連ルーチンを紹介する。これら のルーチンは PC ー 9801 の一キーと ーキーをユーザプログラムて、使えるよ うにするものと , 十などのキー も取り込めるキーポードからの 1 文字入力ル ーチンて、ある。後者は本当は MS ー DOS のド ライバコールて、 RAW モード指定をすれば実 現て、きるはずのものなのだが , PC ー 9801 シリ ーズて、はうまくいかない機種がある ( バク ? ) のて、 , 仕方なく筆者が作ったプログラムの 簡易版て、ある ( 他の機種のユーザには申し訳 ないが , 機種依存しているのて、 PC ー 9801 シリ ーズ以外て、は使えない ) 。 ルーチンは簡易版なのて、 , 少々の不都合 はあるかもしれないが , いちおう使える。 例によってアセンプラ記述の部分もある が , 最小にとどめてある。 ・関数 ( マクロ ) の仕様 #include ″ keyint. h" VOid Set98StopAndCopyKey( ) ; げがあったかどうかを調べることが ューザプログラムからキーの押し下 STOP マクロと HIT COPY マクロて、 キーの本来の機能を無効にし , H 工 T PC ー 9801 のキーと て、きるようにする。 実践 C プログラマ養成講座 91

3. 月刊 C MAGAZINE 1990年3月号

1989 年 7 月発売以来、 MS - DOS 上のリアルタイムシステム構築ツールとして こ好評をいただいている Lattice C/RT0 まだ、導入を迷ってられる方のた めに、誌上を借りて、こ質問にお答えします。 FA 、 LA システムを始め、各種 ßLattice C/DOS Ve 「 . 4 」と完全に互換性があります。 ことをお勧めします。 プラにしなければならないこともあり、できるだけ、アセンプラて記述する とが望ましく、作成するシステムの割り込み間隔の関係などにより、アセン C で記述可能です。しかし、割り込み処理はできるだけ短時間に終了するこ 別のタズクー D を割り当てることによって実行て、きます。 管理は、ユーサーが行う必要があります。 ションコールか出来ます。但し、排他制御はしていませんから、リソースの ョンコールに対して、エミュレートしているので、タスク内からのファンク プしているものがあります Lattice C / 日 T ては、そのようなファンクシ 可能です。 MS-DOS のファンクシ白ンコールの中には、入力待のままルー 20 ミリ秒の整数倍て指定できます。 32 タスクてす。 可能となります。 り込みで起動するタスクをイベント・ドリプン・タスクに指定することて、 したがって、一定時間毎に起動するタスクをタイムスライス・タスクに、割 べント・ドリプン方式とタイムスライス方式の両方をサポートしています。 可能です。 Lattice C / 日 T はマルチタスク処理を実現する方法として、イ リアルタイムシステム構築に Lattice C / 日 T をこ使用ください。 住 Lattice C / DOS との互換性 ますか ? 回割り込み八ンドラは、 C で書け ますか ? 6 同じタスクを 2 個以上実行でき 可能ですか ? ル (int 21H ) をタスク内で実行 国 MS ーロ OS ファンクションコー 回タイムスライス間隔は ? 国最大タスク数は ? 移るということがてきますか ? きに直ちに別のタスクに処理が 動しつつ、割り込みがあったと 回一定時間おきにあるタスクを起 がありますか ? リ刀レタイム・マルチタスクシステム構築専用 C コン督ラ レ / 側 A [ 4.1 【対応機種】 >PC ー 98 ( L 丁を除く ) FM 日 50 / 60 / 70 価格 Panacorn M500 / 6 開 / 700 >J ー 31 シリース ( 日本語モート ) >AX 仕様機 ( 日本語モート ) ¥ 238 , 000 ELattice C / 日 T マルチタスク ①タスクの実行制御 関連ライプラリー ( 抜粋 ) wait—mefn req—tsk abort—tsk eds—exit wait— . sefn req—tl m task—exit walt—SIgn can—tlm dcl—sch 複数イベント待ち タスク実行要求 タスク実行停止 DOS に制御を移す 単一イベント待ち タイマー要求 タスク実行終了 シグニフィカントイベント待ち タイマー・キャンセル スケジュール要求 ②タスク間通信 send—data テータ送出 send—rdata リージョン領域を使った送出 send—sts ステータス送出 リージョン領域を使った受信 rcv—rdata rcvl—data データ受信 ( ポート 1 ) rcv2—data テータ受信 ( ポート 2 ) 3 イベントフラグ制御 イベントフラクのセット set—efn read—efn 全イベントフラグ情報の読み込み イベントフラグのリセット rst—efn イベントフラグの状態テスト tst ー efn 0 タスク属性制御 自己タスクのフライオリティ変更 ・タスクステータスの変更 タスクのステータスの読み込み read— StS タスク id の読み込み read—tid 0 時計制御 read—tim 時刻・日付テータの読み込み set—tim 時刻・日付データの設定 ・パッフア制御 バッフア領域の確保 get— buf パッフア領域の解放 rel—buf ①入出力ドライバー制御 alt—prt 国システムがかなり大きいのです が、 Lattice C / 日 T で構築で きますか ? んか ? 6 台分購入しなければなりませ いますが、 Lattice C/RT を 回現在 6 台のノヾソコンて開発して すか ? を買い直さなけれはならないで っているが、 Lattice C/RT @既に Lattice C/DOS を持 2 つの方法かあります。 1 番目は、タスクの起動までに時間がかかってもよ ュ、タスクを非常駐タスクに指定することによって、タスクをティスク上に置 いておくことかできます。非常駐タスクは実行時に、メモリにロードされ、 実行を終了すると、メモリは解放されます。 2 番目の方法は、タスクを EMS メモリに置くように指定する方法です。 Lattice C/ 日 T は EMS Ve 「 . 4.0 をサホートしています。 EMS に置ける 1 つのタスクの大きさは、 64KB まての大きさに限られます。ー ßLattice C/DOS 、 Lattice C/DIJAL 、 Lattice C / 16M 、日 OMa- ble C を既にお持ちのユーサーか凵 FEBOAT ー NDEX から購入される 場合には、特別ティスカウントシステムとして、 5 万円割引となります。 複数のパソコンで開発する場合、割安に購入するためのコーポレトライセ ンスがあります。通常のバッケージソフトは 1 台のパソコンに 1 本のライセ ンスて販売されています。 6 台の / ヾソコンを使うときは、 6 個のソフトを購 入しないと不正コピーという事になります。そこて凵 FEBOAT では、まと めて割安に購入できるコーポレートライセンスで、不正使用の不安なくこ使 用いただけるようにしております。コーボレートライセンスについては、 凵 FE 日 OAT 営業 1 課 ( TEL : 03 ー 293 ー 4714 ) まてお問い合わせください。 rcv— lOPk red—dev dcl —dev request—10 asn—dev iO—done レ 0 バケット受信 入出力リダイレクト設定 デバイス制御ルーチンの登録 入出力要求発行 テ・バイス制御ルーチンのアサイン 入出力完了処理 0 割り込み制御 cnt—vec sw—task ⑩コモンテ・ dCl —cmn get—cmn cnt—cmn write——cmn put—cmn read. —cmn intSV sw——exlt OS / 2 MS - DOS 両用 C コン督ラ MS OS / 2 、 MS - DOS 両 OS をサホートする Lattice C コンバイラ。 OS / 2 は、 LAN サーバやゲートウェイサーバとして、また M M L ( M i c 「 0 Mainf 「 ame Link ) を必要とするパソコンの OS として今後の普及か期待さ れています。しかし、 OS / 2 は新しい OS なので、 OS / 2 用のプログラムを新た に開発していかなければなりません。このとき、 MS - DOS にある多くの Lat - tice C の資産を移植して行くためには、 0S/2 上の Lattice C か不可欠で す。 Lattice C/DIJAL は Lattice C/DOS Ve 「 . 4.1 と完全に互換性か あり、資産の継承を安心して行えます。 【対応機種】 PC ー 9800 ・・ FM 日・ >Panacom PS / 55 ・・ >PC AT ・・・ >J -3100 ・・・ ペクターアドレス登鉧 フォーク処理実行 割り込み前処理情報保存 フォークモード終了 ータ制御 コモンエリア登録 コモンデータの取得 コモンエリア接続 コモンエリアへのテータ書き込み コモンエリアへの 1 ワード書き込み コモンエリアのデータ読み込み 価格 ・・・¥ 128 , 000 ・・・¥ 128 , 000 ・・・¥ 128 , 000 ・・・¥ 98 , 000 ・・・¥ 98 , 000 ・・・¥ 128 , 000 く日本語〉 MS OS / 2 または旧 M く日本語〉 OS / 2 搭載機

4. 月刊 C MAGAZINE 1990年3月号

MS - DOS プログラミング入門 [ 表 7 ] EMS を利用する場合の各メモリホードの EMS 拡張メモリとしての詳細一覧 ドライプが第 2 パラメータとして処理される PC-9800 シリーズは各種の増設 RAM ボードをサポートしているが , EMS の拡張メモリとしての使用の ことになった。 可否を以下に示す。 5. SWITCH . EXE N EC 籬殳日 AM ボード 土殳メモリホード 使用 EMS 使用する 可能な このコマンドは , コマンドノヾーションが 内蔵用 EMS の PC-9801 専 - 用 用 モード蚓乍 CPU 9801-51 9801-52 メモリ 日 A ⅳ 1 MS ドライバ ー 53 ( L ) 3.0 から 3.2 への変更と , 初期メニューへの (KB) 体 pc ー 9801/E/F/M/U/UV/ 〇 640 EMM . SYS 文字列表示の追加以外なんの変更もないよ CV/ LV/V F/V M UX V30 〇 640 EMM SYS うて、ある。 80286 〇 640 EMM SYS VX 6. KEY. EXE 〇 * 6 XA 八イレゾリューションモード 〇 768 EMM . SYS コマンドノヾージョンが 3.1 から 3.2 への変 V30 640 EMM . SYS 史と , メニューのいくつかに文字列表示の ノーマルモード 〇 80286 640 EMM . SYS X 追加が行われた。 〇 〇 * 6 〇 〇 八イレゾリューションモード EMM SYS 768 7.MORE. COM EMM . SYS V30 640 このコマンドを実行すると , 23 行目ごと 〇 EMM . SYS X 386 * 8 640 に「一一 More ーー」が表示されていたが , Ver. 3.3 〇 * 2 〇 * 24 EMM386. SYS 〇 * 2 〇 * 2 E M M . S Y S また B からは「続きがありますのて、どれかキーを 〇 〇 〇 〇 XL2/RL 768 八イレゾリューションモード は E M M 3 8 6 SYS 押してください」というメッセージに変わっ RX 〇 EMM . SYS V30 640 〇料 E M M . SYS EX 640 80286 〇 * 2 〇 * 2 〇 * 24 〇 * 23 EMM . SYS LX 8. MENU . COM V30 640 E M M . SY S バージョンが 2.20 から 2.30 へと変更され RA 〇料 EMM . SYS た以外に , MS - DOS に提供されているメニ RL 〇 * 2 〇 * 24 〇 * 2 〇 * 2 EMM386. SYS ューファイルのメッセージがいくつか変更 〇 EMM . SYS ES されている。 〇料 EMM . SYS RS 9. SETUP. EXE 〇 * 2 〇 * 2 〇ネ 24 LS FORMAT の / B オプションに対する処理 EMM386. SYS 〇 * 3 〇 * 7 EMM . SYS 640 が追加された。 98NOTE V30 〇 : EMS 拡張メモリとして利用可能 x : EMS 拡張メモリとして利用不可 機能強化されたドライノヾ : 利用不可 B : EMS ページフレームとして BOOOO 番地 ~ BFFFF 番地を利用 可能 C : EMS ページフレームとして COOOO 番地 ~ CFFFF 番地を利用可能 1 . EM M . SYS * 1 PC ー 9801 ー 53 ( L ) ボードまたはこのホード * 4 それぞれのノヾソコン内の専用メモリスロット に装着できるメモリボードを使用する場合 ( 利 Ver. 3.3 , 3.3A て、提供されていた EMS 上の PC ー 9801 ー 54 のみ EMS 拡張メモリと 用可能なメモリボードは , それぞれの機種によ して利用可能。 DRIVE. SYS がその改良版て、ある EMM. って異なります ) 。 他の拡張メモリは , EMS として利用できませ * 5 PC ー 98XL にメモリを拡張する場合は , 最初 ん。 SYS に変更された。内容としては , ドライ この場合 , PC ー 9801 ー 53 ( L ) ボードは増設メ に PC-98XL-01 増設 RAM ボードを装着す バ自体の使用メモリの削減ならびに性能の ることが必要です。 モリのなかて最上位アドレスに位置づけてこ利 * 6 PC-98XA-01 (K), PC-98XA-02 (K) を 用ください。 改善などがあげられる。 使用する場合。 * 2 増設メモリを , 保護モード用メモリとして利 2. RAMDISK. SYS EMS 拡張メモリは最低 1 M 八イト必要です。 用します。 * 7 PC-9801 N ー OI を使用する場合。 1 M 八イト以上の増設ホードはすべて EMS 拡 EMS メモリて、も RAM ディスクとして使用 * 8 PC-98XL2 の 386CPU モードにて , 張メモリとして使用可能てす。 することがて、きるように改良された。 EMM386. SYS ドライ八を利用する場合 , 機 . * 3 PC-9801 LV/LX/LS で PC ー 9801 ー 51 / 能拡張プロセッサ ( 型名 : PC-98XL2-07) が 52 / 53 ( L ) を利用する場合は , PC-9801 LV 3. EMM000. SYS ー 08 ( I/O 拡張ユニット ) が必要です。 必要です。 このドライパファイルは , Ver. 3.3 , 3.3 このコマンドは , ユーザ定義文字の保守 最初の約 124K バイトをプランクとして初期 A て、提供されていた EMSDRIVE. SYS と同 を行うが , Ver. 3.3 に比べて「ユーザ定義文 化て、きるようにした。 もうひとつの /E は , じものて、ある。ごく少数のアプリケーショ 字の作成」の項目が新たに付加された。 ードディスクをもっと簡単に初期化て、き ンて、は , EMSDRIVE. SYS て、ないと動かな 3. FORMAT. EXE るよう , 簡易メニュー表示が追加された。 いものがあるため , このドライバがサポー このコマンドには , ふたつの新たなオプ 4. DISKCOPY. EXE トされている。 EMSDRIVE. SYS と EMM. ションがサポートされた。そのひとっ , /B SYS とて、は , 取得するべージフレームのア このコマンドは , ディスクのフルコピー は , システムファイルを SYS コマンドて、あ をセクタ単位て、行うが , 今回の変更は , 第 ドレスが異なっているからだ とからて、も追加てきるように , ディスクの 2 パラメータが省略されたときに , カレント XL*5 X L2 ノーマルモード B, C cn O O O O ノーマルモード 640 3 8 6 O O 640 V30 640 386SX B, C ◆ C プログラマのための MS - DOS プログラミング入門 81

5. 月刊 C MAGAZINE 1990年3月号

をお勧めしたい OS / 2 の将雜 マイクロソフトは , OS/2 をあくまて、も MS -DOS にとってかわる OS として , すなわち パソコン界の OS のシェアを確保するための 道具として位置づけている。工ンドユーザ Fig. 1 インテル CPU の流れ 0 には何の関係もないことだが , プログラム を作る人たちにとっては , OS / 2 の動向から 目を離すことはて、きないだろう。 今後 OS / 2 はいろいろいろな方向に発展す ることが予想されるが , それは , OS / 2 が MS -DOS よりもはるかにすばらしい素質と将来 性をもっているためて、ある。 OS / 2 の暗い部 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 32 CMAGAZINE 19 3 8088 80188 4004 8008 8080 8085 8086 80286 80386 80486 80586 80186 分ばかりにスポットをあててきたが , そう した現実と将来性とは別物て、あるという認 識が必要だ。 たしかに , OS/2 は技術的にはそれほど高 度なことは行われていない。現在まて、に 高級 OS としてさまざまな技術が開発されて きたが , OS / 2 は過去に確定した手法をその ほとんどの機能に採用している。プロセス 管理や仮想記憶 , さらにはページングや保 護機能などて、ある。これらの手法は , どの OS て、も用いられているものばかりて、ある。 このため , OS / 2 に OS としての技術的な興味 をあまりもてないのが正直なところて、ある。 て、は , 新しい OS としての将来性をどこに 求めることがて、きるのか。 OS/2 は必要に迫 られて生まれてきたものて、はない。すて、に 述べたように , マイクロソフト , IBM, イ ンテルがそれぞれパソコン市場て、自分たち のシェアの保持および拡大を目指すという 思惑がからみ , インテルー IBM ーマイクロ ソフトという 3 巨頭体制の構図を作り上げ うしたバ、ツクポ ーンの上に , 80386 ( 80486 ) —PS/2—OS/2 と いう未来図が描けるからこそ , OS / 2 の将来 は強いといえるのて、ある。今後の OS / 2 の普 及いかんによっては , かなりの影響を市場 に与えることになる。もし OS / 2 が失敗する とすれば , この 3 巨頭の歴史に大きなマイナ スイメージを残すことになるだろう。 新い OS として たことは先ほど述べた。 の長 はじめに OS / 2 は , MS ー DOS の限界を打ち破る使命 をもった新たな OS といえる。 MS-DOS の限 界は , その上て動くアプリケーションソフ トによって徐々に明らかにされていったが , それはアプリケーションソフトの高機能化 がもたらした副産物ともいえる。 MS-DOS の限界は , よく知られているようにメモリ とマルチタスクの問題が代表的だ。 MS ー DOS が 16 ビット 8086CPU の機能に依存している

6. 月刊 C MAGAZINE 1990年3月号

PARTNERzve 「 30 乍 3 i = st 「 n ( ル」 f 場 CX = 3 3 下 3 whi ( i ”く 7 ) ( 王 C 引 4 朝 F SS=CIF CS = 能 C4 ES=CIF i f ( st 「 ( c. 0 「 - 「引 , dst. 0 ゴ am ) = ) retu 「 n; 炉印 4E6 FIÄ・ . f 縮 I<C. 3 お ) ( ー ts 丐 ( ) ー getl 18 ( ) —a inwt + ( 4 〔 ) —get ke リ確 ( ) —getchar+D() - xco t + ( ) / ・ return byte 竊」 m ヒお「・ ー consts + を ( ) ー国 8 馴 pa + 49 ( ー国 3 1 + ( 1) 隰引田 ー da ガ 3 IE ( ) ート S - 3 3 9 3 6 6 王 C 4 C4 的 1 ー di 引舳 ( 3 譓 - di x 3 : 」正 [ 田 p ] , : -d is や、、 : ぎ、 + F3 ( L223. 0 ) ど 0 int 「加 e 0 る 7 data ruct text •next float fval 「・ t リ「 n 0 ) お p -0 ) お信 5 , ー 1 4 3.141 ー印枦 1- 「トい、 ウインドウ指向ソースレベルテノヾッガ 発売開始 ・ 80386 / 80286 のプロテクトモードて動作。 デンヾッガ本体が IM バイトより E 位の空間て、 80386 / 80286 のプロテクトモー ドて、動作します。従って、テッヾッガ自身がリアルモード ( IM 以下のメモリ空間 ) のテンヾッグ領域をほとんど使用しない ( 約 15K バイト ) ため非常に大規模なフ ログラムのテッヾッグにも利用可能て、す。 ( 80286 / 80386 マシンのみ ) ・ 80386 のテノヾッグ機能およひ仮想 8086 モードのサポート。 80386 のラヾッグ機能をフルサポートしメモリや I / O のアクセスによるプレーク ードウェアプレーク ) を外部ハードウェアなしに実現しました。 ( 80386 マシ ンのみ ) 8086 、 V30 、 286 ( 川 MHz 以下 ) て、は、従来通り PARTNER-H の ードウェアプレーク機能などはそのまま使えます。 ・ EMS およびプロテクトメモリサポート。 ラヾッグ情報などの領域を EMS あるいはプロテクトモード用拡張メモリ ( IM バイト以上のメモリ空間 ) に確保することが可能になりました。これにより、膨大 なデンヾッグ情報を持った大規模フログラムて、もデバッグ領域を制限すること なくデンヾッグがて、きます。 ・インスペクタ機能および完全なテータタイプのサホート。 完全なデータタイフ (struct, union など ) のサポートおよびインスペクタ機能 ( カーソルによるデータ参照機能 ) によりソースレベルて、のデータ参照が容易 になりました。 (Turbo-C, MS-C のみ ) ・シェル機能の強化。 ヒストリ / テンプレート / ラインエテンツトなど機能を大幅に強化しました。 ・その他の強化内容。 可変タブの設定、ウインドウのズーム機能、ソースパスの複数指定、フロファ イル機能の強化、マルチジョブの切換え時間の高速化など各コマンドの機能 をアップしました。 京都マイクロコンピ、一タ株式会社 ・対応処理系 Ve 「 4.0 , Ve 「 5.1 MS-C Tu 「 b0-C Ve 「 1 .5 , Ve 「 2.0 LS ト C86 Ve 「 3Ⅸ Lattice-C Ve 「 3.3 Ve 「 4.0 ■動作環境 機種 PC ー 9801 シリーズ ( XA / XL 八イレゾ含む ) メモリ 384K 八イト以上 EMS / プロテクトモードメモリサポート O S MS-DOS Ve 「 2 」 1 , 3.1 , 3.3 ※ PA 日 TNE 日一 H は拡張スロット 1 スロット使用。 ■価格 PARTNER-S 43 , O ロロ円 PARTNER-H 98. OOO 円 ■バージョンアップ PARTNER-S/H Ve 「 1 .0 および Ve 「 2.0 の登録ユーザの方にはノ←ジョンアップ サービスのこ案内をいたします。 ☆未登録の方は至急登録下さい ☆現在出荷中の Ver2.1 には Ver3.0 への無科 バージョンアップ券が付属します。 〒 617 京都府長岡京市長岡 3 丁目 1 ー 2 TEL ( 075 ) 953 ー 0963 X ( 075 ) 953 ー 0935

7. 月刊 C MAGAZINE 1990年3月号

ノヾーソナルコンピュータとともに C 言語ソース プロクラム集 MS-Windows カ漢字変換 OS / 2 バーション 1 歙 PM ) ・ MS ー Window 、 OS / 2 プレゼンテーションマネージャーについて 以下のようなソフトウェアの企画 / 開発を行なっております。作 業依頼、 OEM 、バッケージ販売など、各種形態に対応します。 以下のイーストプロダクトを使った業務アプリケーションの受注 開発もお受けしております。 ・ ANSI 規格に準じた c 言語で記述していますので MS - C などのコ ンバイラでコンバイルできます。 ・全 MS ー DOS パソコンで稼働します。ソース提供ですので、技術 力しだいでは UN Ⅸや os / 2 プレゼンテーションマネージャーへ の移植も可能です。 ・プログラム仕様書や日本語のコメントが付いていますので、プ ログラムのロジックも理解できます。 ・ CI 、 C2 は購入者個人が調査、研究の目的で使用するもので す。第三者への開示、再販売には別途契約が必要となります。 ・ C4pro 、 C5p 「 0 、 C6p 「 0 はライセンスフリーですので、このライプラ リを組み込んだソフトは自由に販売できます。 EI 日本語入力フロントプロセッサ \ 18 , 000 ・ EI は、 MS - DOS 版と MS - W 旧 dows 版の 2 本のプログラムがい っしょにバッケージされています。 DOS 版 Win 版 PC -9801 シリーズ 日本語 MS-Wlndows 稼働機種 ( LT および高解像モードを除く ) 2 . 0 以降が稼働するバ AX / ヾソコン ソコン 必要メモリ 76KB 55KB MIFES 、 final, 日 ED 、 ExceI など MS-Wln で サポート TurboC 、 OulckC 稼働する全アプリケー ソフト 0 団 ck 日 AS など ションソフト ・ MS-KANJI A 曰に準拠していますので、マイクロソフト社のクイ ックシリーズ ( Qu ℃ kC 、 Quick 日 AS ℃ ) などで心地よい操作が 行なえます。 ・占有メモリ 76K 日以内 ( 辞書バッフアを含む ) と他の FEP の約 半分のメモリしか使いません。 ( w れ版 ) ・辞書はひらがな、外来語を含め 40 , 000 語以上入っていますの で、確度の高い変換が可能です。※ 0 日①Ⅷ m ・など、すべ ての特殊文字に読みが付いています。 ・変換文字色のユーザ設定、再変換機能による郵便番号変換、 半角変更による数字の無条件半角入力、無変換キーによる カタカナ変換、 XFE 日キー単独で FEP の on / off などかゆい ところに手が届く仕様を詰め込みました。 ・ 30 分で操作が覚えられる、トレーニングテキストファイル付き。 ・ MS-DOS 、 MS-Windows 、 0S/2 の OEM 商談受付中 日本語ワープロ TextW 「 ite 「 \ 58 OO 新発売 ・マルチフォント ( 明朝体、ゴシック体 ) 、自由な大きさの文字 ( 5 ~ 63 ポイント ) をサポートした、 MS ー Windows 対応の日本語ワプ ロです。 文書データ、図形データ、画像データを統合して編集できます。 : 0 0 0000 = 0 = 、 0 、 000 ・ 0 、、 0 00 、 0 = 章が作成できます。 直線、円弧、矩形による作図機能を持っています。線種も太線、 中線、細線、実線、点線など豊富に用意しました。枠内の塗りつ ふしも可能ですので罫線内網掛けも簡単に行なえます。 ・クリッフ赤ード経由のビットマッフデータ ( 画像 ) の取り込みや、引 FF 形式の標準画像ファイルの読み込み / 書き出しも行なえます。 ・日本語 Exce に同し様な操作方法ですので、 Excel や Windows の操作方法を知っていれは、簡単に操作できます。 ・標準データ形式を採用していますので、 Excel のデータを取り込 みレポートを出力したり、 MS ー paint のビットマップデータを文書 に貼り込めます。 C6 ロ「 0 クラフ表示サプシステム ¥ 32 ロ , ロ 00 ( マニュアルのみ Y3 , 090 ) 新発売 MS ー Windows および OS / 2 プレゼンテーションマネージャー上で 稼働する、グラフ表示サプシステムです。 ・ C 言語のソースプログラムでこ・提供しますので各種アプリケー ションソフトに組み込んで自由にお使いいただけます。 ・円グラス棒グラス折れ線グラフなど基本的なグラフを表示で きます。 300 頁のマニュアル付き。 ・ G 系 C ソース ( Windows ) と G 日系 c ソース ( pm ) の 2 種類が入っ ています。 ・プログラミンク上の最大の相違点である、ペクターグラフィック ス処理を多用していますので Win と pm の違いが理解できます ・ Win 、 pm のプログラミングの勉強にも最適です。 ・ C4D 「 0 PostSc 「 ipt ライプラリ *320,000 ( マニュアルのみ Y3 , 090 ) NEC PC ー P 日 201 系のエスケープシーケンスに準拠した体系を持言 語関数ライプラリ集で post np ロマンドを出力します MS ー DOS 上で稼働しているアプリケーションソフトを PostSc ⅱ pt 対応に変更するためのライプラリです。 PC ー PR602 のグラフィックコマント五換の関数ライプラリも備えています。 日本語 PostScript の勉強にも最適です。 250 頁のマニュアル付き。 Hea 「 tBeatDemoPack OEM 用日本語入力ソフトウェア ¥ 8 , 240 ( 税込み ) 新発売 ソフト、デモデータ集です。 TextWriter 、 WinMailsWinCalc 、 WinGraph 、 ScreenPIayer 、 TIFF 関連ユーティリティなとのデモソフトが入っています。 開発途中の製品も含まれますので、マシンによっては起動しな いものや、ハンクするものもあります。また、バージョンアップ等 のサービスは行ないません。マニュアルも付いていません。 ・直販のみですので郵便振替または FAX 注文でお申込みくだ ¥ 3 , ロ 0 ロ , 0 ロロ ~ ・ Z80 アセンプラ版 ( 2 種 ) 、 8086 アセンプラ版 ( 2 種 ) 、 C 言語版 ( MS - DOS 用、 OS -9 用、 68000 用 ) など多くのソース資産を用意 しています。 ・辞書インターフェースライプラリ ( CI ) のソース販売から、かな 漢字変換操作部分を含むフルバッケージの販売そして移植 作業まで、各種形態に対応致します。 C5D 「 0 T 旧 F ライフラリ *320,000 ( マニュアルのみ \ 3 , 0 ) ・イメージファイルの標準化として各分野で注目を集めている T ド F ( タクイ メージファイルフォーマット ) の C 言語関数ライプラリです ・ TIFF ファイルの open/close/read/write の他、多数のイメージ 処理関連ライプラリが入っています。 ・イメージ圧縮は CCITT / 3 の 1 次元圧縮、 G Ⅲの 2 種をサポートし ており、このロジックもソース公開しています。 ・ T 『 F 形式、イメージ処理の勉強にも最適です。 ・ 400 頁の T 旧 F 仕様を含む詳細なマニュアル付き。 【製品内容】 ・引 FF ライプラリ ( 24 種 ) ヘッダ関係・・・ T 旧 F オープン新規作成、ヘッタ情報の「 ead / Ⅷ te / set トラレクトリ関係・・ TAG 情報の read/write 、 TAG 情報昇順設定 >TAG 関係・・・ TAG 数の取得、 TAG 構造のチェッ久 TAGread 、 解像度変更、 RG 日モード変換、ストリップ切り分け トその他・・・イメージ圧縮 / 伸長、インテ丿いモトローラ変換、ビッ トイメージ / T 『 F 変換 その他の MS-Windows 、 OS/2(pm) ソフト DB ファレ操作 曰 SAM テータヘースライフリ テータベースソフト ( DataFo に e 「 ) ・画面定義体 ,ISAM インタフェース ( OS / 2 では、 SQL インタフェー ス ) を持つデータベースシステムです。 ・カラーイメージ付きのファイルや TextW 「 ite 「の文書ファイルの 検索システムから、業務処理プロクラムのマスターファイルメン テナンスや顧客管理システムなど幅広い用途で使えます。 画面定義ツール ( Sc 「 een 曰 aye 「 ) ・伝票入力、帳票出力などのウインドウ画面を簡単に作成する ためのプログラム開発ツールです。 ・画面の定義には日本語ワープロ Textw 「 ite 「を使いますので自 由な大きさの文字や、豊富な罫線をイメージ通りに作成できます ・ウインドウ画面のスクロール、データの入力、データチェッ久テー タ問の演算、ヘルフツッセージなどもサポートしています。 表計算・グラフソフト (WinCalc/WinG 「 aph) ・レポートライター機能付の簡易表計算プログラムです。 ・ API( アプリケーションプログラムインタフェース ) を持っていますの で各種業務ソフトの帳票出力部分としても使えます。 ・グラフも A 曰付きです。約 20 種類のグラフが作れます 電子メールシステム ( WinMail) ・電文の作成、宛名指定、文書管理などを行なう、電子メール 操作用のユーザソフトです。電文の受信を知らせるメールマイ ンダ機能も持っています。 ・ LAN システムは米国 3Com 社の「 3 十 MailJ または「 3 + Open 」に対 応しています。他の LAN システムにも個別対応します。 ・ OS / 2 、 LAN マネージャ、 LAN サーバ対応版も開発中です。 ¥ 128 , OOO ( マニュアルのみ Y3 , 090 ) ・業務アプリケーションを開発する際に必要となる、検索、並べ 換え ( ソート ) などの基本操作を行なうライプラリです。 ・日 + t 「 ee 方式により、大容量のデータ検索も瞬時に行なえます。 ・パソコンメーカー 2 社への OEM 実績および 3 年問の販売実績 を持っていますので、高速かっ安定した動作を保証します。 ・常駐型とライプラリ型の 2 タイプで提供しますので、 MS ー DOS 上の各種言語から利用可能です。 ・インデックス圧縮 / 4 ノヾイト整数、浮動小数点のサポート / 重復 キー / レコード数無制限 / 電源断対応など 1 クラス上の機能を 用意しました。 ・各言語でのプログラミンクイ列がマニュアルおよびサンプルファ イルとして付いています ・サポート言語 >MlcroSoft C (S/M/L) ト Quick C Lattice C (S/P/D/L) ト Quick BAS ℃ Leve12 CO 日 OL C86-BASlC ト MS-BASIC インタブリタ / コンバイラ BAS ℃ /98 N88 一日 AS ℃インタブリタ / コンバイラ ・ PC ー 9800 シリーズ、各社 AX パソコン旧 M55 シリーズなどの各 社 MS - DOS パソコンに対応しています。 ・業務アプリケーションへの組込みロイヤリティ \ 8 , 000 / 本 ☆価格は、マニュアルおよび HBDemoPa が税込み、その他は税別で表示しています。 ☆マニュアルおよび HBDe Pa ⅸは直販のみですので、イーストに直接注文してください。 CI かな漢字変換ライフラリ *80,000 ・最新の 2 文節最長一致法を吏用していますので「彼は医者で彼らは歯 医者です」「代取締役」などもイッパッで変換します。 ・以下のような C 言語プログラムインターフェースを関数として用 意しています。 ひらがな文字列を漢字混しり文字列に変換する 次の候補文字列を得る ローマ字をひらがなに変換するなど ・複合連文節変換 / 活用語尾変換処理 / 付属語処理 / 数字変 換 / 辞書更新学機能などの最新ロジックも入っています。 ・ 25 , 000 語の厳選された辞書ファイル付き。 Hea 「 tBeatSpecBook 無料 ・ハート・ビート・スへック・プンクは A4 版、約 30 頁のカタログ集です。 ・開発中のものを含め、開発コンセプト、詳細な仕様、用途、特 徴などについて、解説しています。 ・ C ソースプログラム集については、関数仕様も載せています。 C2 汎用スクリーンエテイタ ¥ 80 , 000 ※ご注文は郵便振替でお受けしております 東京 2 ー 62623 名義 : ィースト株式会社 ・ ANSI 標準ェスケープシーケンスを使っていますので各社の MS ー DOS パソコンで稼働します ・ Read/Write/Jump/Cut/Paste/Find/Substitute などの基本 機能のほか、 Wo 「 dMaste 「系の CT 日 L コマンドも持っています。 ・スクリーンエデイタとしての基本用件に加え、以下の機能を持っています 仮想テキストバッファ処理 ( メモリとファイルのバッファリンクつ ト日本語編集 ( 半角 / 全角を考慮したカーソル移動、各種カナ 漢 FEP との併用 ) >OS コマンド実行 ( 編集中に MS ー DOS コマンドを実行可能 ) 階層構造ディレクトリのサポート Hea 「 tBeatTechSemina 「 ※ T 旧 F はマイクロソフト社とアルダス社が考案したイメージファイルフォーマットで 無料 す。※ Pos&ript はアドビ社の商標です。※ MS-DOS 、 MS-Wndows 、 MS-C 、 ouck C 、 ExceI はマイクロソフト社の商標です。※ Tu 市 0 C はポーランド社の商標 ・毎月、第 2 金曜日 ( 3 月 9 日、 4 月 13 日、 5 月 11 日・・・ ) 15 : 00 から 2 時 です。 *Latuce C はラティス社の商標です。※ IJN Ⅸは A 幵が開発した OS です。 間ほど、イーストの各種バッケージプロダクトの商品説明、デモ を行っております。 ・弊社のツールソフト、 C ソースを使った、 MS-Windows 、 OS/2(pm) でのアプリケーション開発の事例紹介も行います。 ・参加こ・希望の方は、弊社営業部までお問い合わせください。 ィースト株式会社 〒 151 東京都渋谷区代々木 1 ー 3 ー 1 TEL03 ( 374 ) 1980 X03 ( 374 ) 2998

8. 月刊 C MAGAZINE 1990年3月号

三田典玄の 実践 C プログラマ 第 0 回 C 言語とシステムエンシニアリング 養成講座 List 3 80 : END ds,ax to DATA-SEGMENTS 42 : { 49 : 50 : 52 : 53 : 54 : 55 : 57 : 58 : 59 : 60 : 62 : 63 : 64 : 65 : 66 : 68 : 69 : 73 : 74 : 77 : stpintr 78 : KEYINTS_TBXT _cpyintr -cpyintr 56 : PUB い C popf iret ENDP -cpyintr PROC FAR ENDS ENDP iret sti pop f POP POP mov mov 田 OV mov push push pushf c ⅱ マクロが呼ばれる直前に押された とを示す。 このマクロを参照することによって HIT—COPY の値は FALSE にクリア される。このマクロへの値の代入は て、きない #include ″ keyint. h& 0 a X ds ax, 1 ds: ds f_copy, ax ax, DGROUP : Set DS: Set Not 0 BOOL PC98RomBiosBasedKbhit( ) ; 標準ライプラリにある kbhit ( ) 関数と 同じ。 MS-DOS の入力モードを変えずに 十などのキーデータも取 れる。 #include 〃 keyint. h" Keyget. c List 4 int 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 11 : 13 : 25 : 31 : 32 : 33 : 39 : 40 : 43 : 44 : 38 : #define 37 : #define 36 : #define 35 : #define 34 : #define #define #define 30 : #define 29 : #define 28 : #define 26 : #define 24 : #define 23 : #define 22 : #define 20 : #define 18 : #define 17 : #define 16 : #define 15 : #define 14 : #define 12 : #include #include 10 : #include ROM-BIOS Based Kbhi t ( ) & Getch ( ) funct ions Created by N. Mita (CoreDump CO, . Ltd. ) Copyr ight 1987 CoreDump CO, . し td. PC98RomBiosBasedGetch( ) ; 標準ライプラリにある getch ( ) 関数と 同じ。 MS ー DOS の入力モードを変えすに 十などのキーデータも取 れる。 く conio. h> く dos. h> く stdio. h> READ_BUFF SENS_BUFF SHIFT_SENS KBD_INIT SENS_INKEY INT_KEY_BIOS DoInt TRUE FALSE B00 し S_CTR し _Q S_CTR し _S S_CTR し _N S_CTR し _P S_CTR し _C C_CTR し _Q C_CTR し _S C_CTR し _N C_CTR し _P C_CTR し _C 0 1 2 3 4 0X18 int 0 1 / * Boolean constants * / ()O (d) int86x(INT_KEY_B10S, &inp-reg, &out-reg, &seg-reg) 0X2B03 0X1910 0X2E05 0XIE13 0X1011 0X03 0X10 0x0E 0X13 0X11 41 : B00 し PC98RomBiosBasedKbhit() struct SREGS seg_reg; inp-reg. out_reg. union REGS これらのマクロを通常の標準ライプラリ と同じ手順て、呼び出せるようにする方法は , MS ー C の付属マニュアルの「 LIB. EXE ライプ ラリマネージャの使い方」の項に詳しく載っ ているのて、ここて、は説明しない また , これらの関数はすべて LARGE/ HUGE モデル用て、ある。コンパイル時には 「 /AL 」フラグをつける必要がある。 関数 ( マクロ ) の説明 実銭 C プログラマ養成講座 93 PC ー 9801 シリーズて、はキーポードからの入 するものて、ある。 るもの , もうひとつは通常のキーの操作を ひとつは一 / ーキーの操作をす 関数 ( マクロ ) 群はふたつに分かれている。

9. 月刊 C MAGAZINE 1990年3月号

eader's 00 ー蝨 ワープロならではの同音異義語 カーニハンとのインタビューで「私 の「生態的な地位」 ~ 」と訳してあ るが , 理解しかねる。本誌に限ら ないが ( パソコン雑誌全般に ) 誤字 が多すぎる。同音意義語の間違い も多い。たとえばカーニハンとの インタビューの中で「ですから , 何 か想像的な ~ 」は , 文脈からすると 「創造的な ~ 」のような気がします が ? ワープロが原稿書きに使われ るようになって , 同音異義語の問違 いが多発しているようですが・・ 福岡県・加藤勝憲 ( 4 の 「生態的な地位」は , 原文て、は 「 ecological niche 」になって おり , 本の執筆がカーニハンにとっ て ( ベル研のなかて、 ) は非常に自然 な , 生活にあった , 自分にピッタリ の役割て、あると言いたかったのだ と思われます。また , ご指摘の変換 ミスてすが , たしかにワープロて、文 章を作成しているのて , ワープロに よる誤りが発生することがままあ りますのて、 , 注意していきます。 C 十十もおもしろそう UN Ⅸ系の WS は使いたいですが , 当 社ではまだ購入のきざしもありま せん。さりとて , 個人で買えるも のではないし , Ⅶ N Ⅸに多少興味を もっています。当分 , MS-DOS にな りそうですが , 制御 , 計測などを 扱うことも多いので , リアルタイ ム処理を MS ー DOS にくつつけたよう なものに興味があります。言語は ようやく C 言語が多少使えるように なったので , 当分は C 言語で , その 神奈川県・小林宏一 ( 31 ) MINIX はたしかに興味をそそ られますね。いずれは取り扱 いたいと思います。 OS ー 9 から OS ー 9000 へ 私がはじめて触れた OS は FM77 での OS ー 9 でした。それまで F ー BAS ℃しか 使ったことがなかったので , 操作 方法を覚えるのは大変でした。し かし , 覚えてしまうと , OS のすば らしさのとりこになりました。そ れから , MS ー DOS へと・ 9000 / 早く触わってみたい。 大阪府・川西和志 ( 24 ) OS ー 9000 も , もちろん取り上げ ます。現時点て、はコムパック の 32 ビットマシンて、しか動いてい ないようなのて、すが , 今から日本 語に対応したバージョンが楽しみ て、す。 OS ー 9 のソースをコンパイル し直せば , ほとんどのプログラム が OS ー 9000 て、も動くそうて、す。 非常時に役立つ記事を 気づいて見ると , 身近に C マガのフ ァンがいました (READER'S ROOM に名前が出ている ) 驚いたもので す。ところで , 明号の内容では , ファイルなどのディスクについて たくさん出ていましたね。まるで 狙いすましたように , 一番興味の ある部分をかいてもらえるから , まいってしまう。それで , この前 , ドディスクのリトラクトコマ ンドを使っていたら , FAT を壊して しまい , 大騷ぎしました。ノート ンユーティリティーは , そうした ときに役立っそうですが , できれ ば特集してください。その他 , そ ういった非常時に役立つ知識を載 せていただけると幸いです。 P. S. Turbo C は買ったけど , やは り MS-C がほしいぜ / 東京都・戸谷晴久 ( 20 ) ピーターノートンが来日した ときに , あわただしい中 , 短い インタビューを行いました。 4 月号 か 5 月号に掲載したいと思います。 公約違反はいつまで続く あんまり期待できそうにない。方 針を変えてほしいからアンケート を出すのだが , 「 98 オンリーにする つもりはない」とあるが , そうは思 えない。それをよく示しているの が , 「はじめて学ぶ C プログラミン グ」だ / だいたい int が 2 バイトだ なんて , インテルの「 8086 」のこと しか考えていないとしか思えない。 それとも「 UN Ⅸ」をやることで「 68 系 もターゲットだ」とでも言うつもり ? 一度各 C コンバイラのユーザ読者層 の統計をとってみてほしい。 徳島県・行成俊隆 ( 29 ) 特集「 C Compiler with out 98 」 やっと私の FMTOWNS にも HighC お よび QC がそろいました。したがっ て , Compiler without 98 ″を特 集してほしいと思います。 Mac, Human68k, TOWNS, 旧 M などが対 象ですね。千葉県・中道徹 ( 29 ) XC も取り上げます。 High C も取り上げます。 Objectiv-C も取り上げます・・・・・・ ( ん ? 選挙公約 非 MS - DOS ユーサの自己防衛 自動解凍プログラムは邪魔です。 MS-DOS 以外でも LHarc は存在して いるので , MS ー DOS 以外のユーザは まったく読めなくなってしまいま す。ファイルのアドレス 0X74D 以前 を切り離してしまえば , LHarc で読 み取れることがわかるまで苦労し ました。なお , 小生は OS ー 9 から自 作の MS ー DOS ファイルコン / ヾータを 使用して読んでいます。 MS-DOS の . EXE は減らしてほしい。 長野県・佐藤昭 ( 42 ) 読者のみなさん全員が LHarc をお待ちとは限りません。そう いう方のために , 自己解答プログラ ムにしていることをご理解くださ い。今後 , PCー9801 用の LHarc はも 当連盟のフリーソフトウェア配 布分科会では , 郵便によるフリー ソフトウェアの配布を行っており ます。ソフトウェアをこ希望の方 は , カタログおよび申込書をお取 寄せのうえ , お申込みください。 主な配布ソフト NetEmacs Ve 「 .4.0 , YTe 「 m, T00 , Utilities, TeX など 配布条件 配布料金 : ティスク 1 枚につき 5 円 , 送料 600 円 注文方法 : 郵便小為替 , 現金書留 申込み先 , 問合せ先 : 〒 145 東京都大田区東雪谷 4 ー 23 ー 6 高村方 フリーソフトウェア配布分科会 * 62 円切手 2 枚お送りいただけば , 折返しカタログと申込書をお送り します。なお , 上記連絡先の有効 期限は 3 月 31 日までです。 フリーソフトウェア配布のこ案内 一大学コンビュータ連盟 うち C + + をやりた 142 CM AGAZIN E い 19 3

10. 月刊 C MAGAZINE 1990年3月号

( 第 4 回 ) 画面制御関数の作成 五ロ 高橋良明 前回までは , ファイルアクセスを行って を指定できません。今回は , 任意の X , Y 座標を指定して , テキスト画面を制御す きました。ファイルアクセスについては る関数を作成します。今回作成した関数 一段落しましたので , 今回は画面表示の を利用すると , より実用的なアプリケー 基本的な関数を作成します。コンバイラ ションを作成することかできます。 付属ライプラリでは , テータの表示位置 ② OS のファンクションコールを呼び出す きく 3 とおりに分かれます。これは , テキス テキスト画面制御の方法 ③ BIOS を呼び出す トのみならず , グラフィックやディスクア クセス , キーボード , そのほかの機能て、も そして , さらにテキスト画面て、は , ④ ASCII 制御コード , ESC シーケンスを利 ードウェアを制御する方法は , 使用す あてはまります。 ①ライプラリを呼び出す ーーる機能レベルによって , 次に示すように大 用する を加えた 4 とおりの方法て、制御て、きます。テ キスト画面制御て、は , ライプラリにない機 Fig. 1 機能の階層図 能を使用することが多いのて、 , 新たに関数 を作成する必要があります。 その際 , どのレベルの機能を使って , テ キスト画面を制御するかが課題になります (Fig. 1)0 プログラム OS のファンクション BIOS レ 0 ポート ソフトウェア ハードウェア OS のファンクション OS は , ハードウェアとプログラムとのイ ンタフェイスをとるものて、す。もしプログ ラムからライプラリを使用することがて、き ない場合 ( 使用したい機能がライプラリにな い場合 ) , 一般に OS のファンクションコール (BDOS : Basic DOS) を利用しなくてはなりません。 ファンクションコールは , どのプログラ ムて、もよく利用する機能をまとめたものて、 , 一種のランタイムライプラリというべきも のて、す。 ードウェアを直 OS のファンクションはハ 接制御しているのて、 , ユーザはめんどうな ードウェア制御を行わなくてもよいとい Fig. 2 MS ー DOS メモリマップ 番地 High COMMAND. COM MSDOS. SYS 9. S Y S Low 応用 C 言語 95