• 検索結果がありません。

MS-DOS マクロアセンブラを利用して

N/A
N/A
Protected

Academic year: 2021

シェア "MS-DOS マクロアセンブラを利用して"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

MS‑DOS マ クロアセ ンブ ラを利用 して

一 初 期 化 時 に フ ァイ ル を転 送 す る ラム デ ィス ク ー

行 方 常 幸

目 次

1. はじめ に

2 . マ クロアセ ンブ ラ とデバ イス ・ドライバ 3. ラムデ ィス クの構 造及 び機 能

4 .機 能実現 の方法

5. その 他 6. 利用例 7. おわ りに

1 .は じ め に

パ ー ソナルコンピュー ターが普及 して多 くの人々の手元 に機器がおかれるよ うになった 。 また, その機器 を利用す るための ソフ トウエ アの価格 は年 々安 く な っている

しか し, 限 られた予算 の中で どれ を購 入す るか はわれ われユー ザー に とっては頭 のいたい問題 である

.

そ こで 自分で作 れるプログラムはなる べ く自分 で作 る とい うことが考 え られる

便利 な こ とに, MS‑DOS の システ ムデ ィスクにはアセ ンブラとデバ ッガが最初 か らついていて, さらに豊富 な例 題 のついた アセ ンブラの入 門書 が市販 されている。 「 習 うよ り慣 れ ろ」。 の諺 ど お り NECP C‑9 8 0 0 シ リーズ用 の 「 初期化 時 にフ ァイル を転送 す るラムデ ィス ク」 を文献 を参考 に してアセ ンブ リ言語 で作成 してみた。素人が作 ったプログ ラムなので無駄があ り,見通 しが悪 く,市販 されている ラムデ ィス クよ りも機 能 は落 ちるか もしれないが,初期化時 に転送する フ ァイル を指定で きる ところ が このプログラムの特徴 である いつ もこの ラムデ ィスクを利用 しているが 目 立 った トラブル もな く重宝 している

以下 にこの ラムデ ィス クのプログラムの

〔75 〕

(2)

7 6 商 学 討 究 第 3 7 巻 第 4 号 概略 とそのために必要 と思 われる事項 を記述する

も しこの ラムデ ィス クを御利用 して下 さる方がお られ ま した ら私 までお知 ら せ下 さい。

2. マクロセンブラとデバイス ・ドライバ

ソースプログラムをどんな言語で書 いて も最終的 には実行型 の フ ァイル ( 拡 張子 COM また は EXEのつ いた フ ァイル) に変換 されるが,一般 的 には実行 型 のフ ァイルをデバ i yガで逆 アセ ンブル した もの と元 の ソースプログラム との 対応 はつかめがたい。 しか しなが ら, アセ ンブ リ言語 はソースプログラムの イ メージがその まま実行型 のフ ァイルに反映 される。 このため実行型 の フ ァイル の大 きさは小 さ く,かつ実行時間が短 くなる傾 向がある 。 しか しまさにこのた めにアセ ンブ リ言語で は何 か ら何 まで プログラム しなければな らない とい う欠 点 が生 じて くる

しか しなが ら,MS‑DOSで は豊富 な システ ムコー ル [ 文献 1,2 参照] が用意 されているため に必要 に応 じて これ らを利用 で き, またマ クロアセ ンブ ラにはデー タ構造 を指定 で きる疑似命令 sTRUC ( パ スカル言語 でい うレコー ド型 に対応) があ りこれによ りデー タの参照が非常 に楽 になる その他豊富 な機 能 をそ なえたマ クロアセ ンブ ラはその基礎 的 なわず か な事項

[ 文献 3,4 参照] を覚 えて しまえばあ とはフ ォー トランで プログラムす る感 じで少 しの忍耐があれば実用上十分 なプログラムが作成 で きる と思 われる。

通常入 出力装置 としてキーボー ド, デ ィス プ レイ画面 ( 装置名 CON) , プ リ ン ター ( 装 置 名 pRN) , デ ィス ク ドライブな どが あ るが, MS‑DOSで はユー ザーが容易 に これ らの機能 を修正 した り, さらに周辺装置 を追加 した りで きる 。

例 えば,ATOK や VJ E等 の漢字 フロ ン トプロセ ッサ は CON を修正 した もので

あ り,マ ウスは新 たに追加 した ものである

これ らの方法 は, その周辺装置 を

制御 す る プロ グ ラム ( デバ イス ・ドライバ と呼 ばれ る [ 文献 1,2,3,5 参

照]) を作成 しその フ ァイル名 を CONFI G.SYSの 「 de vi c e =」 の次 に書 いて シ

ステムを起動 させ ればその周辺装置 は利用で きるよ うになっている

ここで作

一成 す る ラムデ ィス ク とはメイ ンメモ リまたはバ ンク切 り替 え用 の増設 された

(3)

MS‑DOS マクロアセンブラを利用 して 7 7

RAM の一部 また は全 部 をデ ィス ク と して利 用 す る もの' を言 う 。 正確 に言 えば これ を周辺装 置 と して追加 す るため にデバ イス ・ドライバ を作 成 す るわ けで あ る 。

デバ イス ・ドライバ とはデバ イス ( 周辺装 置) を制御 す るプ ログ ラムで ある が; デバ イス ・ドライバ と して持 つべ き形式 となすべ き仕事 が ある 。 形式 とは プログ ラムの先頭 に 1 8 バ イ トのデバ イスヘ ッダ と言 われ る情 報 を置 いて お くこ と, お よ び MS DOS . S YS か ら FARCALL され る 2 つ の ルー チ ンに分 けて お く こ と等 で あ る

なすべ き仕事 は,詳 し くは文献 [1,2,3,5] 等 を参 考 に し て も ら う と して,初 期化 ( デバ イス を利 用 す る まえに一度 だ けお こな う), デ バ イス とのデー タのや りと り ( 読 み込 み,書 き込 み)等 で ある 。

ここで作 成 す る ラムデ ィス クのデバ イス ・ドライバ は文献 [3] 第 6 章 の プロ グ ラム を基 に フ ァイル転送 の機 能 を付 け加 えた もので ある。

3 .ラムディスクの構造及び機能

ラムデ ィス ク用 の領域 を どこに取 るか を図示 した ものが 図 1 で ある 。 ここで ( 領域 1) はメイ ンメモ リにあ りこれ をあ ま り大 き く取 りす ぎる と残 りの メモ リに余裕 が な くな り大 きな プ ログ ラムが実行 で きな くなる恐 れ が あ る。 ( 領域 2) は グ ラフ ィ ック画面 で グラフ ィ ック機 能 を利 用せ ず, かつ他 の プログ ラム で もグ ラフ ィ ック画面 を利用 しない な らば ラムデ ィス ク と して利用 で きる 。 ま た, グ ラフ ィ ック機 能 を利 用 す る場 合 で も, 2 面 ある グ ラフ ィ ック画面 の うち 1 面 の み を利 用 す る な ら残 りの 1 面 を ラムデ ィス ク と して利 用 で きる

この ( 領域 2) の利用 可能 な大 きさは 9 6K バ イ トまた は 1 9 2K バ イ トで ある。 ( 領域

3) はバ ンク切 り替 え用 の増設 RAM を設置 した場合 に ラムデ ィス ク と して利 用 可 能 に なる部 分 で あ る。 こ この プ ロ グ ラムで は ,Ⅰ・0 デー タ機 器社 の製 品 を利 用 した場合 を想定 しているので,他社 の製 品 の場合 はバ ンク切 り替 えの方 法及 び共有 す る ア ドレス を調 べ て ソース プログ ラム を修正 す る必要 が あ る

ムデ ィス ク と して利用可 能 な大 きさは増設 す るボー ドの個 数 による。 これ らの

領域 の うち どれ を ラムデ ィス ク と Lq で利 用 す るか は適宜指 定 で きる。 ( 領域 1)

(4)

7 8

下位 ア ドレス

I

0 00 0:0 0 0 0 0 0 4 0:0 0 0 0

AO O O:0 0 0 0

I

上位 ア ドレス

商 学 討 究 第 37 巻 第 4 号

割込 みベ ク トルテーブル

Ⅰ 0. SYS 一 MSDOS.SYS

■ MSTDOS 作業用領域 ラムデ ィス ク

( デバ イス .ドライバ) うムデ ィス ク用 の領域 ( 領域 1) ( 注 1)

CO叩MAND.COM 常駐部 プログラム実行用領域

( 含 cOMMAND. COM 非常駐部) ( 注 2)

A8 0 0:0 0 00 か ら 9 6 K バ イ ト の グラフィ ック画面 を

( 注 1) この領域 の大 きさをKバ イ ト単位 で指定 で きる。

( 注 2) 、 メモ リの増設状況 によ りこの部分 の大 きさは異 なる。 ここで述べ られているバ ンク切 り替 え用増設 RAM の ア ドレスは 8 00 0:0 0 0 0 か ら 1 2 8 K バ イ トでバ ンク切 り替 えは Ⅰ / 0 ポー トア ドレス EC にバ ンク番号 を出力す る こ とで行 う。 このバ ンク切 り替 え用増設 RAM ( 領域 3 とす る) をラムデ ィス ク と して利用 す るか しないか は指定で きる。

( 注 3) グラフ ィ ック画面 は 2 つあ りバ ンク切 り替 えは Ⅰ / 0ポー トア ドレス A6 にバ ン ク番号 (0または 1) を出力す る こ とで行 う。 この グラフ ィ ック画面 ( 領域 2

とす る) をラムデ ィス クとして使用すか しないかは指定で きる。

図 1 ラムディスク利用時のメモリの利用状況

( 領域 2) ( 領域 3) が この順 序 で ラムデ ィス クの領域 にな りこれ らの大 きさ

の合計 が ラムデ ィス クの大 きさになる 。 これが6 4Kバ イ トよ りも小 さい場合 ,

す なわち, ( 領域 1) のみ をラムデ ィス クの領域 としその大 きさを6 4Kバ イ ト

(5)

MS ‑DOS マ クロアセ ンブ ラを利 用 して 7 9

以下 に指定 したばあいには自動 的 に 6 4K バ イ トをラムデ ィス クの容量 とす る い ま述べ た ラムデ ィス クの領域 がいか に利用 されているか,及 び ラムデ ィス ク初期化 時 に フ ァイル をいか に転送 す るか, の説 明の ため に, ここで フロ ッ ピーデ ィスクの構造 とフ ァイルの記憶方法 を簡単 に説 明す る

MS ‑DOS の フ ォーマ ッ ト済 みの フロ ッピーデ ィス クは論理 的 には図 2 の よ

デ ィス ク

(注 1 ) ラ ム デ ィ ス クには この予約 領 域 を 設 け な い 。 (注 2 ) ラ ム デ ィ ス ク に は F A T を 1 つ し か 設 け な い 。

図 2 デ ィ ス ク 上 の 領 域 ・

ト ラ ッ ク 数 8 0 8 0 ‑7 7

セ ク タ/ トラ ック 8 9 8

サ イ ド. 数 2 2 2

セ ク タ ■ サ イ ズ 51 2 5 . 1 2 1 02 4

ク 総 ■ 容

‑ 1B: (K

ヾ ィ . ト ) 6 40 72 0 1 2 30

デ ィ レ ク ト リ数 11 2 1 1 2 192

セ ク タ/ クラス タ 2 2 1̲

予 約 .セ ク タ 1 1 1

F A T 数 2 2 2

セ ク タ / FL A T 2 . 3 2

表 1 MS‑DOS 標準ディスク ・フォーマット

(6)

80 商 学 討 究 第 37巻 第 4号

うな構造 を している

デ ィス クは読 み書 きの最小単位 で あるセ ク タ と呼 ばれ る 部分 が た くさん集 まった もので ある

図 2 の各領域 が何 セ ク タなのか, また こ のセ クタが何 バ イ トなのか はデ ィス クによって異 なるが, デ ィス ク毎 に規格 が 定 め られ て お り, デ ィス クの互 換 性 が保 た れ て い る ( 表 1参照)

予 約 領 域 ( I PL) は電源 を入 れ た と き, また は リセ ッ トボ タ ンを押 した ときにメ イ ンメモ リ に 読 み 込 ま れ る 部 分 ( ブー ト プ ロ グ ダ ム) で あ る 。 次 の FAT ( Fi l e Al l oca t i onTabl e ) とは この デ ィス クに入 ってい る フ ァイルの内容 が実 際 にデ ィ

ス クの どの部分 に記憶 され て い るか を示 す表 で, 12 ビ ッ トの FAT エ ン トリを 単位 と して これが集 まってで きてい る O これ は重要 な もの なので同 じものが 2 個 用意 されてい る。次 の ルー トデ ィレク トリ記憶 領域 には この デ ィス クに入 っ ている フ ァイル毎 に( 1) 名前 ,( 2) 属性 ,( 3) 最後 に変更 された 日時,( 4) フ ァイルの 大 きさ,( 5) フ ァイルの最初 の部分 が記憶 されてい るデ ィス クの位置 (ク ラス タ 番号) ,等 が記憶 され てい る 。 次 の デー タ領域 に フ ァイルの実 際 の内容 が記憶

ディレク トリ領域 FAT 領域 データ領域

上記 において, " f i l e " という名前のファイルはデータ領域の f i l e ‑ 1 ,f i l e ‑ 2 ,f i l e ‑3 , f i l e ‑4,f i l e ‑5 にこの順序で記憶 されている。

図 3 ファイルの記憶方法の例

(7)

MS‑DOS マ クロアセ ンブ ラを利用 して βノ さ, れ てい る

この デー タ領域 は ク ラス タ と呼 ばれ る単位 に分割 され てい る。

( クラス タが何 セ ク タで あるか はデ ィス ク毎 に決 め られて いる。) この クラス タには最初 か ら萄号 がついてお り ( 最初 の番号 は 2 で ある), この番号 は FAT エ ン トリの値 と 1 対 1 に対応 してお り,以下 に述べ る よ うにフ ァイルの内容 を

記憶 している。 I

先 ほ ども述 べ た よ うに FAT は FAT エ ン トリと呼 ばれ る 1 2 ビ ッ トの単位 が 集 まってで きていて, この FAT L. ン トリの最初 か ら 0 番 目の FAT エ ン トリ,

1 番 目の FAT エ ン トリ‑, と順 番 に番号付 け られて い る 。 0 番 目の ・ FAT エ ン トリは このデ ィス クの タイ7t o を表す識別子 ( 下位 1 バ イ ト) として用 い られ てい る 。 1 番 目の FAT エ ン トリは未使 用 で ある

この FAT とデ ィレク トリ を用 いて以下 の よ うに フ ァイル を記憶 している ( 図 3 参照)。 フ ァイルのデ ィ レク トリの,上 で述 べ た ( 5) の内容 (この値 を

nl

とす る) を調 べ る

。 nl

番 目の FAT エ ン トリの値 (この値 を

n

2とす る) を調べ る

次 に

, n

2 番 目の FAT エ ン トリの値 ( この値 を

n3

とす る) を調べ る

以下 同 じよ うに値 Of f f h ( 16 進) が 現 れる まで行 う 。 い まこれ らの値 が nl

, n

2 ,・ ‑

‑nm

,Of f f h で あ った とす る な らば, デー タ領域 の

n

1 番 目の ク ラス タ

, n

2 番 目の クラス タ,‑‑

, nm

番 目の クラス タに この順序 で フ ァイルの内容 が記憶 されている

こ こで作 成 す る ラムデ ィス クは,表 1 にあ る よ うな MS‑DOS 標 準 デ ィス ク ・フ ォーマ ッ トに したが う必要 はないので,以下 の よ うに している。

( 1 ) 不用 な予約領域 はない。

( 2) FAT の数 は 1 個 である

( 3) 1 セ クタは 51 2 バ イ トである

( 4 ) 1 クラス タは 2 セ クタで ある。

( 5 ) ルー トデ ィレク トリの総数 は 6 4 ( バ ンク切 り替 えの増設 RAM を利用 し た場合 は 25 6 ) である。

( 6) FAT の ため のセ ク タ数 は ラムデ ィス ク となる領域 が なるべ く有効 に使 われる L . よ うに 自動 的 に計算 される

以上が ラムデ ィス クの領域 の利用状態 の概 略 である 。 この ラムデ ィス クの領

(8)

8 2 商 学 討 究 第 37 巻 第 4 号

域 をラムデ ィス クと して利用す るよ うに制御 す るデバ イス ・ドライバの主 な処 理 は( 1) 初期化 , ( 2) 読 み込 み , ( 3) 書 き込 み,で ある。 この うち , ( 2)( ( 3) ) の読 み込 み ( 書 き込 み) は MSDOS. SYSの指定 す る転送 ア ドレス, 開始 セ クタ番号, セ クタ ・カウ ン トを参照 して転送 ア ドレスか ら( に), ラムデ ィス クの指定 された 開始 セ クタ番号 のセ クタ以降 に ̀ ( か ら) セ クタ ・カウ ン ト分 のデー タを転送 す るよ うにす る 。( 1 ) の初期化 は最低 限次 の よ うな処理 を行 えばよい,す なわち, MSDOS. SYSに ラムデ ィス クの規格 な どの情報 を与 え,FAT とルー トデ ィレク

トリの領域 を 0で埋 め,FAT の先頭 の 3バ イ トを FATI D とダ ミー の 2バ イ トの Of f hで埋 め る, とい う処理 で ある

ここで作成 す る ラムデ ィス クで は さ らに以下 の機能 をもたせ ている 。

( 機能 1) ラムデ ィスク と して利用す る メモ リの大 きさを随時変更 で きる

( 機 能 2) ラムデ ィス ク初期化時 に,指定 されたい くつかの フ ァイル を転送 す る, この フ ァイル名 は随時変更で きる。

( 機能 3) シフ トキー を押 しなが らリセ ッ トボ タンを押 して再起動 させ る と ラムデ ィスクの初期化 を行 わない。

( 機能 1) の意味 は ラムデ ィス ク として メイ ンメモ リを何 Kバ イ ト利用す る か, グ ラフ ィ ック画面 0 又 は 1を利 用す るか,バ ンク切 り替 え用増設 RAM を 利 用 す る か, を変 更 で きる と言 う こ とで あ る。増 設 RA巌 は こ こで は Ⅰ ・0

デー タ機器社 の製 品 を利用 しているが,他 の もので もバ ンク切 り替 えの方法 と

その ア ドレスが わかれ ばプログラムの修正 は可能で ある。 ( 機能 2,3 ) は次 の

よ うな必要性 か ら出て きた ものである 。 フ ァイルの読 み書 きが高速 で ある点 が

ラムデ ィス クの魅力 なので あるが,最初 にはデ ィス クか らラムデ ィス クへ必要

なフ ァイル を転送 しなければな らない。 それ をなるべ く高速 に行 うべ く必要 な

フ ァイル を DI SKCOPY の要 領 で あ らか じめ転 送 して お くこ とが望 まれる

た転送す る フ ァイルは指定可能 にす る必要が ある

さらに,何 かの理 由 によ り

暴走 して リセ ッ トボ タンを押 さな くて はな らな くな った時, この ままで はメイ

ンメモ リの内容 は失 われて しまう

しか し, ラムデ ィスク と してバ ンク切 り替

え用増設 メモ リのみ を利用 していてかつその増設 メモ リが リセ ッ トボ タンを押

(9)

MS‑DOS マ クロアセ ンブ ラを利 用 して 83.

す ことによ り何 の影響 も受 けなければ, ラムデ ィス クの初期化 を行 わない こと によ り以前 の ラムデ ィスクの内容 は原則 として失 われない

これが ( 機能 3) の意味である。 ( 機能 1,3 ) は市販 されている ラムデ ィス クで も, もちろんサ ボニ トされている。 ( 機能 2,3) は使 ってみる と大変有用である ことがわかる

( 機能 2 ) はラムデ ィスク‑転送 してお くフ ァイルの数が多 くなればなるほ ど, 例 えば,AUTOEXEC.BAT フ ァイルで COP Y コマ ン ドを用 いるよ りもはるか

に高速 なよ うである

( 機能 3 ) は ラムデ ィス ク上 で作成 中の フ ァイルの大事 な内容 をプログラムの暴走 な どの不慮 の事故 か ら守 るため に大変役 に立 ってい る。次 の章で, これ らの処理 のよ り具体 的 な実現方法 を述べ る

4. 機能実現の方法

前章 において, ラムデ ィスクのデバ イス ・ドライバ として最小 限 しなければ ならない処理及 び これ らに付 け加 える機能 を簡単 に説明 した。最小 限の処理 の よ り具体 的方法 については文献 [3 ]を参考 に していただ き, ここで は付加 した 機 能 の 実 現 方 法 を 簡 単 に 述 べ る

こ れ ら の 実 現 に 3 つ の フ ァ イ ル myr a mds k. s ys ,f i l e c opy. e xe ,s e t myr a m. e xe が必要 で ある。myr amds k. s ys は ラム デ ィス クのデバ イス ・ドライバで,f i l e c opy. e xe は このデバ イス ・ドライバで で きなか った初期化 の部分 を行 うプ ログラム,s e t myr a m. e xe は ラムデ ィス ク の変更可能 なオプシ ョンをデ ィスプ レイ画面上で対話形式 で設定するプログラ ムである

この s e t myr am. e xe で,myr a mds k. s ys 内 にある次 のデー タ項 目を設 定,変更する 。

○前章 の図 1 の ( 領域 1 ) をラムデ ィス クとして利用するか しないか,利用 す るな ら何 K バ イ ト利用す るか。 ( 領域 2 ) をラムデ ィス ク と して利用す るか しないか,利用す るな らどの画面 を利用 するか。 ( 領域 3 ) を利用 す るか しないか,利用す るな ら,バ ンク切 り替 え用 の増設 された RAM のバ

ンク番号 は何番 か。 ( 前章 の機能 1)

○ ラムデ ィスク初期化時 に転送す る フ ァイル名 ( 最大64 個 を限度 として,逮

り手 としてはカ レン トドライブ, A: か ら D: ドライブを選べ る,固定 デ

(10)

8 4 商 学 討 究 第 37 巻 第 4 号 イスク は識 別 で きな い た め不 可 )0 ( 前 章 の機 能 2)

これらを 設 定 , 変 更 して リセ ッ トボ タ ンを押 す と 指 定 され た領 域 が ラムデ ィ スク として 利 用 さ れ る 。 ( 領 域 1) に 関 して は m y ramdsk. s ysで確 保 す る が , 他の領域 に 関 して は利 用 可 能 か ど うか の チ ェ ック は して い ない の で注 意 が必 要 である。

さて,上 で 設 定 , 変 更 さ れ た転 送 候 補 フ ァイ ル を 初 期 化 時 に転 送 す. る ( 機 能 2) 方法 は デ ィ ス ク か ら の セ ク タ単 位 の 読 み 込 み を行 う内 部 割 り込 み 25h ( Abs o l ut eDi skRead)を用 い て , フ ァ イ ル が デ ィ ス ク に記 憶 され て い る そ の ま

まのイメー ジ を平 行 移 動 して転 送 す る や り方 で , 以 下 の よ うに して行 わ れ る。

[ myr a mds k . sysで処 理 す る 内 容 ]

○ カレン ト ドラ イ ブ が どの ドラ イ ブ か , ラ ム デ ィス クが どの ドライ ブか を求 め,転送 候 補 の フ ァイ ル を転 送 元 ドライ ブ毎 に整 理 す る。

○ 転 送 元 ドラ イ ブ毎 に以 下 の 事 を行 う。

◎ サ ポ ー トされ て い る デ ィス ク か ど うか チ ェ ック しサ ポ ー トさ れ て い な け れ ば次 の 転 送 元 ドラ イ ブ に移 る 1 ) 0

◎ サ ポ ー トさ れ て い る デ ィス ク の場 合 に は この デ ィス クの、 デ ィ レ ク トリか ら転 送 候 補 フ ァイ ル の デ ィ レ ク トリ を全 て , 仮 に ラ ム デ ィー ス ク の デ ィ レ ク トリの 未 使 用 の 領 域 に転 送 す る 。

◎ 転 送 候 補 フ ァイ ル か ら転 送 可 能 フ ァイ ル を以 下 の よ う に選 び 出 す 。 全 て の 転 送 候 補 フ ァ イ ル の FAT エ ン トリ (この ブ ァイル の 内 容 が 実 際 に入 っ て い る デ ー タ領 域 の ク ラ ス タ番 号 ) を全 て 調 べ る ? これ らの 最 小 値 を 与 え る転 送 候 補 フ ァイ ル の ク ラ ス タ番 号 の最 小 値 最 大 値 か ら デ ィス クに 記 憶 され て い る こ の フ ァイ ル の イ メ ー ジが そ の ま まで ラ ム デ ィ ス ク に転 送 可 能 か ラ ム デ ィス ク の残 りの 容 量 か ら判 断 し, 転 送 不 可 能 な ら ラ ム デ 1) デ ィス クか らの読 み込 み は内部 割 り込 み25h( Abs ol ut eDi s kRe ad) を用 い る た め

FAT やデ ィ レク トリが何 セ ク タ目か ら何 セ ク タを占めてい るか を知 って い る必要 が ある . . ここで は 1 クラス タが 1 02 4 バ イ トとなる表 1 の 5 イ ンチ 2 DD (8 セ クタ/

トラ ック, 9 セ クタ/トラ ック), 5 イ ンチ 2HD のデ ィス クだ けにサポー トを限定

している。

(11)

MS ‑DOS マ クロアセ ンブラを利用 して J 8 5

ィス クの デ ィ レク トリか ら この フ ァイ ル を削 除 す る2 ) 。 転 送 不 可 能 な ら 残 りの まだ削 除 され て い な い フ ァイ ル に 同 じ こ と を行 い, 転 送 可 能 な フ

a: ドライブのデ ィスク ラムデ ィスクの

のデー タ領域 デー タ領域

上図において四角 はクラス タに対応する。

転送候補 ファイル名

a:f al ( f a1‑ 1 ,f a1‑2 の 2 つの クラス タからなる) b:f bl ( f bl‑ 1 ,f bl‑2,f bト 3 か らなる)

b:f b2 ( f b2‑ 1 ,f b2‑2,f b2‑ 3 ‑ か らなる)

この うち a:f al と b:f b Zは転送可能であるが,b:f b lは転送不可能である。

図 4 ラムデ ィスク初期化時のデ ィスクからのデータ領域の転送方法の例

2) 具体的 には,デ ィレク トリ ・エ ン トリの 1 バ イ ト目に Oe 5 h ( 削除 された フ ァイル

である事 を示す 目 印) を書 き込 む。

(12)

8 6 3 7 4

ァイルを 1 個見つ ける 。 この フ ァイルの最小 の クラス タ番号 を基 に して

〜 まだ削除 されていない フ ァイル毎 に,その最大 の クラス タ番号 までの全 部 のセクタが残 りの ラムデ ィスクに転送不可能 な らこの フ ァイルをラム デ ィスクのデ ィレク トリか ら削除す る。 ( 図 4 参照)

◎上 の操作 で転送可 能 とな った フ ァイルの FAT をラムデ ィス クの FAT へ ラムデ ィス クが有効 に使 われるよ うにシフ トして転送する

3)。

以上が myramds k. s ys で行 う部分 である

この時点 で転送可能 なフ ァイルのデ ィレク トリと FATの内容 はすで に ラムデ ィス クに転送 されている あ とはフ ァイルの内容 をラムデ ィス クに転送すれば前章 の ( 機能 2 ) の処理 は終 る

こ の最後 の実際の フ ァイルの内容が入 っている領域 ( ≠一 夕領域) をラムデ ィス クのデー タ領域 に転送す る処理 も myramdsk. sys の初期化 の部分 でやればよい のであるが,実際 にやろ うとしてみる とうま く作動 しない。確 かな原 因は解 ら ないが,多分 バ ンク切 り替 え用 の増設 RAM にフ ァイルの内容 を直接転送 しよ うと してバ ンク切 り替 えをす るのが, myramds k. sys の初期化 時 には うま く作 動 し な い の か も し れ な いO そ こ で こ の 処 理 を コ マ ン ド ・プ ロ セ ッサ COMMAND. COM を ロー ド, 実 行 す る前 に f i l e c opy. e xe で行 う こ とにす る 。

f i l e c opy. e xe の説 明 の ため に MD‑DOS の起動 の メ カニ ズ ム を簡単 に説 明す る [ 文献 2 参照]

( 1 ) リセ ッ トされ た時点 で CPU は FFFF : 0 000 ‑ ジ ャ ンプす る

この ROM の プログ ラムで は使用 開始準備 やハー ドウェアのチ ェ ックな どが 行 われ,次 に,デ ィスクか ら予約領域 にあるブー トプログラムが メモ リ 上へ ロー ドされる。

( 2) これが正常 に行 われる と制御 が このブー トプログラムに移 る このブー トプ ロ グ ラ ム は MS‑DOS の シ ス テ ム フ ァ イ ル の う ち I O. SYS と MSDOS. SYSをメモ リ上へ ロー ドす る

( 3) I O. SYSフ ァイルの 中の I O. SYSルー チ ンで シス テ ム に接 続 されてい る

3 )未使 用 の FAT エ ン トリは 00 h なけれ ばな らか 、 が,未使 用 のデー タ領域 は どんな

内容でも良い,ことに注意。

(13)

MS‑DOS マクロアセンブラを利用 して 87

ハ ー ドウ ェ ア の初 期 化 を行 う。 次 に, I O. SYS フ ァイ ル 内 の SYSI NT ルーチ ンに制御 が移 る。SYSI NT ルーチ ンは 自分 自身 をメモ リの最 上位

‑ ロー ドし直 しそ の分 だ け MSDOS. SYSを移動 させ る

( 4) 制 御 は MSDOS. SYS に移 り MSDOS. SYSの初 期 化 を行 う

この 時 点 で MS‑DOSの機 能 の うち シス テ ム コー ル ( メモ リ管 理 用 コ‑ ) レ以外 ) は すべ て使 用可能 とな って いる

( 5) 制 御 は また SYSI NT ルー チ ン‑ 移 り, フ ァイ ル CONFI G. SYSを読 み込 も う とす る

つ ま り, メ モ リの 最 上 位 に あ る SYSI NT ル⊥ チ ンが CONFI G. SYSフ ァイル を読 んで解釈 ,実行 す る。CONFI G. SYSフ ァイル で は, システ ム作 業用 の フ ァイル数 ,バ ッフ ァ数 , デバ イス ・ドライバ の設 定 , コマ ン ド ・プロセ ッサ の指定 な どが 自由 にで きる 。 この時点 で ラムデ ィス クの デバ イス ・ドライバ myr amds k. s ys の初 期 化 が行 われ る ので あ る 。 最 後 に SYSI NT ルーチ ンは コマ ン ド ・プロセ ッサ をメモ リ上 へ ロー ドして制御 を移 す。

以上 が MD‑DOSの起 動 の メ カニ ズ ムの簡単 な説 明 で あ る。 そ こで われ われの 目的 は上 記 の ( 5) を参 考 に して以 下 の よ うにす れ ば達 成 され る

す な わ ち, CONFI G. SYSフ ァイルで コマ ン ド ・プ ロセ ッサ と して f i l e c opy. e xeを指 定 し, f i l e c opy. e xe の中で ラムデ ィス ク初 期 化 時 に転 送 す る フ ァイルの デー タ部分 を ラムデ ィス クに転 送 し, そ の後 coMMAND. COM を / pス イ ッチ を付 けて ロー

ド実行 す る。 す なわ ち

[ f i l ec opy. e xe で処 理 す る内容]

○転 送可能 フ ァイルが ある転 送元 ドライブ毎 に以下 の事 を行 う 。

◎全転 送可能 フ ァイルの ク ラス タ番号 の最小値 か ら最 大値 まで の全 ての内 容

3)

を内部割 り込 み 2 5 h を用 いて ラムデ ィス クに転送 す る 。 ( 図 4 参照)

○ コマ ン ド ・プ ロセ ッサ をロー ドして実行 す る 。

だいぶ長 くな ったが以上 が ラムデ ィス ク初期化 時 に フ ァイル を転送 す る ( 機 3 ) 未使 用 の FAT エ ン トリは 0 0 h なけれ ばな らないが,未使 用 のデー タ領域 は どん な

内容でも良い,ことに注意。

(14)

8 8 商 学 討 究 第 37 巻 第 4 号

能 2) 方法である 。

( 機 能 3) ( シフ トキー を押 しなが ら リセ ッ トボ タンを押 して再起動 させ れ ばラムデ ィス クの初期化 を しない) は, シフ トキーが押 されていたか どうか を myr amds k. s ys の初期化部分 の最初 で内部割 り込み1 8h ( シフ トキー状態 のセ ン ス) [ 文献 7,8 参照] を利用 して調べ,押 されていた らラムデ ィス クの FAT , デ ィレク トリ,デー タの各領域 をその ままに しておけば実現 される もちろん この機 能 はラムデ ィス ク としてバ ンク切 り替 え用増設 RAM (リセ ッ トボ タン を押 して も影響 を受 けない もの) のみ を利 用 していた場合 で, この場合 で も デー タ化 け等 の アクシデ ン トは避 け られない。

5. そ の 他

前章でわれわれの ラムデ ィス クの主 な説明 を行 ったが, ここでは利用 した内 部割 り込 みで処理 した事項及 びその他 の事項 を説 明す る。 ( 内部割 り込 みの利 用 法 等 は 文 献 [1 ,2 ,6] 等 を 参 照) myr a mds k. s ys ,s e t myr a m. e xe , f i l e c op y . e xe の各 フ ァイルで利 用 した内部割 り込 みの一覧 は ( 表 2 ) で与 え ら れている

( 表 2 )での※印 をもうす こ し説明する

( ※ 1) デー タ受渡 し用 ア ドレスの設定,取得

ラムデ ィス ク初期化時 の フ ァイルの転送 は myr a mds k. s ys で転送可能 フ ァイルの決定, デ ィレク トリと FAT の転 送,及 び f i l e c opy. e xe で フ ァイルのデー タ領域 の転 送 と,二段構 えで行 うが,myr amds k. s ys で得 た情 報 を f i l c opy. e xe に伝 える必要 が ある

この ため に,情 報 の 先頭 ア ドレス を,ユーザーが 自由 に利用可能 な割 り込 みベ ク トル40h

に書 き込 み f i l e c opy. e xe で利用可能す る

( ※ 2) フ ァイルの オープ ン, クローズ

myr amds k. s ysと f i l e c opy. e xe で はラムデ ィス ク初期化 時の フ ァイルの 転 送 にデ ィス クか らのセ ク タ毎 の読 み込 みの内部 割 り込 み ( i nt 25h)

を利 用 して い るが,NECPC‑9801VM シ リー ズの よ うに 2DD と 2

(15)

MS‑DOS マクロアセンブラを利用 して 8 9

HD の両方 を利用 で きる機器 で は i nt25h をその まま利用す る と読 み 込 みで きない場合 がある 。 これ は i nt25hが MSDOS. SYSを通 さず に 直接 I O. SYSを利用するために, 2DD であるか 写HDであるか を識別 で きないため と思 われる そ こで通常 のシスデムコールで適当な名前 (ここで は dummydum. dum としている) の フ ァイル をオー プ ン, ク ローズ してデ ィスクの タイプの識別 を可能 にする 。

( ※ 3) メモ リブロ ックのサイズの変更, プログラムのロー ドと実行

s e t myr am. e xe で は子 プロセス として c ommand. c om を実行 で き, また f i l e c opy. e xeは同 じ く子 プロセス として,任意 の コマ ン ド ・プロセ ;.

サ を実行する 。 この子 プロセスの実行 に必要 な手続 きが, まず子 プロ セスのために自分 に必要 なメモ リ以外 は子 プロセスのため解放する ( 4a h) ,その後 に子 プロセスをロー ド実行する ( 4bh) ,である。

s e t myr am. e xe の処理 はフ ァイル myr a mds k. s ysを読 み込 んで,デ ィスプ レイ

画面上で対話式 に, ラムデ ィスクとして利用する領域,及 び初期化時 に転送す

る フ ァイル名 を設定 し,myr a mds k. s ys にこの結果 を書 き込 む ことである

送候補 のフ ァイル名 を入力する時 にシステムコール O a h ( バ ッフ ァー ド・キー

ボー ド入力) を利用 し,その他 のキー入力 にシステムコール 07 h ( エ コーな し

の コンソールか らの直接入力) を利用 している。次 にデ ィスプ レイ画面 の制御

について簡単 に説明する

デ ィスプ レイ画面 の制御 は MS‑DOSで はかな りサ

ポー トされていて,エスケープシーケ ンス と呼 ばれるコー ド列 を出力すること

によって行 われている

これによって文字 の色 を変 えた り,反転 させた り,デ

ィスプレイ画面上の任意の位置か ら文字 を書 き始 めた り,等 いろいろの ことが

可能である

ここでは, これ らのエスケープシーケ ンスもかな り利用 したが フ

ァイル名 を指示 している反転 カー ソルの移動 は直接 にチモ 1 )上 のテキス ト用

vRAM を操作 したのでその概略 を述べ る。 テキス ト用 vRAM は表示 エ リアで

ある AO O O:0 00 0 か らの 4K バ イ ト ( 同 じものが AI OO:00 0 0 か らもう 1 画面分

として存在する) と, ア トリビュー トエ リアである A2 0 0:0 00 0 か らの偶数番

地 だけを利用 した 2K バイ ト ( 同 じものが A30 0:0 00 か らもう 1 画面分 として

(16)

9 0 商 学 討 37 4

内部割 り̲ 込み 利 用 事 項

i nt1 8h( m) シフトキーの状態取得

i nt25h( m,∫ ) ディスクからのセクタ毎の読み込み

int

リ ク 21 エ h ス ト 番 号

02h( S,f ) 文字の出力

・09h. ( m,S,i ) 文字列の坦力

Oa h( S) バ ッファー ド.キーボー ド入力

Oe h( m) ラムディスクの ドライブの決定

19h( m) カレント丁ドライブ番号の取得

25h( m) デ」夕受渡 し用 アドレズの設定 ( ※ 1) .35h ( f ) データ受渡 し用ア. ドレスの取得 ( ※ 1)

3dh( m, S ,f ) フ̲ アイルのオープン ( ※ 2) ‑

3e h( m, S ,f ) ファイルのクローズ ( . ※ 2)

3f h( S ) . 血yr amds k. s ys ラアイルの読み込み.

‑ 40h( S ) myr amds k. s ys ファイル‑の書 き込み

4a h( S,I ) メモl )ブロックのサイズの変更 ( 丈 3) 4bh( S,f ) プログラムのロー ドと実行 ( ※ 3)

※印は本文 5 章 を参照すること。第‑列の ( m, S,f ) はこの割 り込みが利肝 されているフ ァイル名の頭文字 を表す。

表 2 プログラム作成の際に利用 した内部割 り込み

存在 す る) か ら成 る。 デ ィス プ レイ画面上左 上 か ら半角文字 1文字 につ きどん な文字 が表示 されて いるか を示 す,表示 エ リアの 1 ワー ドが対 応 す る。漢字 な どの全 角 文 字 に は, 表 示 エ リアの 2ワー ドが対 応 す る。 これ に対 しア トリビ ュー トエ リア は画申 上 の半 角 文 字 1 文 字 に対 して 1 ワー ドが対 応 し, この 1 ワー ドの偶数番地 の 1 バ イ トの各 ビ ッ トで対応 す る半 角文字 の属性 を保存 して い る。 ( 詳 し くは文献 [ 9] を参 照) ここで利 用 す るの は この 1 バ イ トの下位 か ら 4 ビ ッ ト目で この ビ ッ トが 1 な ら対応 す る文字 が反転 表示 され, 0 な ら反転 表示 され ない。 これ を利用 して, キー入 力 に応 じて反転 を戻 す フ ァイル名 の反 転 表示 を止 め,反転 すべ きフ ァイル名 を反転表示 させ る 。

これ まで の章 で, myramdsk. sys,set myram. exe,f i l ecopy. exe の簡 単 な説 明 を

(17)

MS‑DOS マ クロアセ ンブ ラを利用 して 91 終 ったので,次章 で は この ラムデ ィス クを利用 した具体例 を紹介 す る

6・ 利 用 例

この章 で ラムデ ィス クを利用 した具体例 を紹介 す るが, その前 に利用 した機 器 の環境 を説 明す る。利 用 した機 器 は NECPC‑9 8 01VF2 で メイ ンメモ リは

6 40K バ イ トに増設済 みで, さらにバ ンク切 り替 え用 の増設 メモ リを 2M バ イ ト増設 している。.ここで は, ラムデ ィス ク用 の領域 と してバ ンク切 り替 え用 の 増設 メモ リ 2M バ イ トだけ を利用 して, その ラムデ ィスク上 で 「 一太郎 」 を利

用 で きる よ うに初 期 化 時 に フ ァイ ル j xw. e xe ,j xw. c om,j xws ys ,j xw. hl p,ga i j , t a nb,a t ok. di c を転 送 し, また c omma nd. c om も転送 してお くこ とにす る。 2DD

(9 セ ク タ/トラ ック) デ ィス クのため, これ らの フ ァイルの うち a t ok. di c を

B: ドライブか ら転送 し,残 りの フ ァイル をカ レン ト ( A: ) ドライブか ら転 送 す る 。 先ず この 2 つのデ ィス ク ( システムデ ィス ク,辞書 デ ィス ク と呼 ぶ) を作 成 す る。 MD‑DOS を起動 し,辞書 用 の デ ィス クの方 はシステ ム転 送 な し の フ ォーマ ッ トを行 い a t o k. di c をコ ピー してお く

システ ム用 デ ィス クの方 は, 出来上 が った ときに c omma nd. c om,j xw. e xe ,j xw. c om,j xws ys , j xw. hl p,gai j ,t a nb が なるべ くデ ィス クのデー タ領域 で連続 して記憶 されている方 が効率 が よいの で,例 えば,以下 のよ うに作成 す る 。

システ ム転 送 あ りの フ ォーマ ッ トを行 い,c ommand. c om を消去 す る 。 次 の 内容 の CONFI G. SYS フ ァイル を作成 す る (コピーす る)。

「 FI LES‑1 0 BUFFERS‑ 5

de vi c e = myr a mds k. s ys

DEVI CE‑ ATOK5 A. SYS / D‑C / G‑C DEVI CE‑ ATOK5B. SYS

s he l l ‑ f i l e c opy. e xec: c omma nd. c om / p」

(ここで, 3 行 目と ■ 6 行 目が ラムデ ィス クを利用 す るため に必要 な事項 で, 3

行 目はいつ もこの まま, 6 行 目は 「 C: c omma nd. c om /p」 の所 をコマ ン ド ・プ

(18)

9 2 商 学 討 究 第 37巻 第 4 号

ロセ ッサの フ ァイル名 とす る。今 の場合 は ラムデ ィス クに c omma nd. c om を転 送 す る の で 「 C: c ommand. c om / p」 で あ る が, 転 送 し な い な ら ば 通 常

「 c omma nd. c om /p」 ( / p スイ ッチ を忘 れず に) である。)

次 に こ の シ ス テ ム 用 デ ィ ス ク に myr amds k

.

s ys ,a t ok5 a . S is ,a t ok5b. s ys , f i l e c opy. e xe ,c ommand. c om,j xw. e xe ,j xw. c om,j xws ys ,j xw. hl p,gai j ,t a nbの順 に

コ ピー す る

以 上 で, ラ ム デ ィ ス ク 初 期 化 時 に 転 送 す る フ ァ イ ル c omma nd. c om か ら t a nbまでが この システ ム用 デ ィス クのデー タ領域 に連続 し て記憶 された。 もしこの他 にラムデ ィス ク初期化時 に転送 したいフ ァイルがあ れば この システム用 デ ィスクにコピーすれば,それ らは連続 して記憶 される こ

とになる

以上で, 目的の 2 つのデ ィス ク ( システムデ ィスク,辞書 デ ィス ク) が作成 されたので次 にラムデ ィスクの オプシ ョン設定 に移 る 先ず システムデ ィスク をA :ドライブに入 れ, B :ドライブに s e t myr a m. e xe の入 ったデ ィス クを入 れ, カ レン トドライブを A: に した後 に

A>b:s e t myr a m ( CR)

と s e t myr a m. e xeを起動 させ る

そ うす る と, デ ィス プ レイ画面上 で図 5‑ 1 か ら図 5‑8 のよ うにオプシ ョンが設定で きる。以下図 に従 って説明する

( 図 5‑ 1)

既定の フ ァイル名 myr a mds k. s ys でよいので く CR) を押 す ( ※ 1 )0 ( 図 5‑ 2)

ラムデ ィス クと して利用するメモ リを初期設定するので, 「1 」を入力するか, 黄色反転 のカー ソルをデ ィスプ レイ画面下方 の指示 に したが って 「 ( 1) す る」

に移動 させ ( CR) を押す ( ※ 2)0 ( 図 5‑ 3)

グラフ ック画面 を利用 しない. ので 「 0 」を入力す るか, く CR) を押 す ( 洪 3)。

メイ ンメモ リは利用 しないので ( CR) を押 す ( ※ 4) 。 メイ ンメモ リを利用

す る場合 はその大 きさ・ を入力後, ( cR) を押 す。バ ンク切 り替 え用 の増設 メ

モ リを利用するので 「1 」または, カー ソルを 「 ( 1 ) 利用す る」 に移動 させ て

(19)

MS ‑DOS マ クロアセ ンブ ラを利 用 して 9 3

( cR) を押 す ( ※ 5) 。 ここで利 用 してい る機 器 の場合 8 0 バ ンクか ら 8f バ ンク まで なので, 「 8 0く CR)8f( CR ) 」 ( ※ 6) と入 力 し, 間違 いが なけれ ば 「 Y 」または, ( CR) を入力 す る ( 7 )0

( 図 5‑ 4)

カ レン トドライブか ら c ommand. c om,j xw. e xe,j xw. c om,j xws ys ,j xw. hl p, gai j , t anb,B :ドライ ブか ら a t ok. di cを転 送 したい ので, ( N) また は ( R) を選 ぶ

( ※ 8) 。

( 図 5‑ 5)

追加 す るので ( A) を選 ぶ ( ※ 9)0 ( 図 5‑ 6)

追加 す る フ ァイル名 をタイプす る

ここで は, フ ァイル名 を確 かめるな どの た め に コ ン トロー ル キー を 押 し な が ら 「 @ 」キー を 押 す こ と に よ り c ommand. c om が実行 で きる。c ommand. c om か ら戻 る ため には 「 e xi tく CR ) 」

と入 力 す る

この とき元 の ドライブ と元 のデ ィ レク トリ ( この場合 は A :

¥) に戻 った後 c ommand・ c om か ら抜 け出る こ と

?

フ ァイル名 を タイプす る 場合 は 1 文字 ( 例 えば空 自, これ はデ ィスプ レイ画面上 に表示 され ない) を 入 力 してか らその フ ァイル名 を タイ プす る。最初 の 1 文字 は入力 が コ ン ト

ロー ル文 字 で ない こ とを伝 える た め に利 用 され る。 こ こで は フ ァイ ル名

「 t anb ( CR ) 」 をダ ミーの 1 文字 の次 に入力 した ̲( ※ 1 0 ) 。

( 図 5‑ 7)

フ ァ イ ル 名 ( gai j ,j xw. hl p,j xws ys ,j xw. c om,j xw. e xe,c ommand. c om,b : a t ok. di e ) を全部入力す る まで, ( A) を選 び ( 図 5‑ 6) で フ ァイル名 を入力 す る

フ ァイル名 を全部入力 し終 った ら (E) を選 ぶ ( ※ 11 )

フ ァイル名 を 間違 って入力 して しまった場合 は ( D) を選 んで, 間違 った フ ァイル名 を削 除 す る

( 図 5‑ 8)

デ ィスプ レイ画面 に表示 されている フ ァイル名 な ど間違 いが あれ ば (R) を選

択 しまた始 めか らや り直す。設定 を取 りやめるな ら ( A) を選 ぶ。 この設定 で

(20)

9 4 37 巻 第 4 号

ラムデ ィスクの初期状態の設定 を行 い ます。

CONFI G. S YS に登録す る, ラムデ ィスク設定用 の フ ァイルの フ ァイル名 を入力 し て下 さい。

既定 の フ ァイル名でよい場合 は CRキー を押 して下 さい。 ( ※ 1)

myr amdsk.s ys

図 5‑ 1.ラムデ ィスクのオプション設定例 (1) ( ※印は本文 6章参照)

(21)

MS ‑DOS マ クロアセ ンブラを利用 して 9 5

図 5‑2. ラムディスクのオプション設定例 ( 2)

(22)

9 6

図 5‑3. ラムディスクのオプション設定例 ( 3)

(23)

97

図 5‑4. ラムディスクのオブショシ設定例 (4)

(24)

98 商 学 討 究 第 3 7 巻 第 4 号

図 5‑5. ラムディスクのオプション設定例 ( 5)

(25)

MS‑DOS マ クロアセ ンブ ラを利用 して 9 9

図 5‑6. ラムディスクのオプション設定例 ( 6)

(26)

1 0 0 商 学 討 究 第 37巻 第 4号

図 5‑7. ラムデ ィスクのオプション設定例 ( 7)

(27)

MS‑DOS マ クロアセ ンブラを利用 して ) 01

図 5‑8. ラムデ ィスクのオプション設定例 ( 8)

(28)

1 02 商 学 討 究 第 37巻 第 4号

NECPC‑ 9 8 0 0S e r i e sPe r s o n a lCo mp u t e r

マ イクロソフ ト MD‑DOS バー ジ ョン 3. 1 0

Co p y r i g h t1 9 8 1 ,8 5 Mi c r o s o f tCo r p . / NECCo r p o r a t i o n

ラムデ ィスクを組 み込 み ます。 C: ドライブです。

ラムデ ィス クの容量 は メイ ンメモ リ

グラフィック画面 0 グラフィ ック画面 1

0.0 K バ イ ト K バ イ ト 0 K バ イ ト

ラムデ ィス ク専用 メモ リ 2048 K バ イ ト

合計 ′ 2048 K バ イ ト です。

第 1.2 版 昭和 6 1 年 行方常幸

自由文変換 システム ATOR5 v e rl.0 Co p y r i g h t1 9 8 4,8 5 ,8 6 ㈱ ジ ャス トシステム

い ま 下記 の ファイルを転送 中です。

C OMMAN D COM J XW EXE J XW COM J XWS YS J XW HLP GAI J TANB ATOK DI C

A : ドライブか ら C : ドライブにフ ァイルを 7 個転送 しま した。

B : ドライブか ら C : ドライブにフ ァイル を 1 個転送 しま した。

Co mma n d バー ジ ョン 3. 1 0

現在 の 日付 は ****‑**‑ * * (*) です。

目付 けを入力 して下 さい :

図 6 .システム起動時のデ ィスプ レイ画面

(29)

MS‑DOS マ クロアセ ンブ ラを利用 して 1 03

間違 いが なけれ ば (E)を選 び終 了 す る ( ※ 12)。 こ の 終 了 を選 ん だ 時 点 で 設

定事 項 が myr amds k. s ysに 書 き込 まれ る 。

以上 で myr a mds k. s ysが我 々 の 目的 に合 う よ う に修 正 さ れ た 。 B : ドラ イ ブ に

辞書 デ ィス ク を 入れ て リセッ トボタンを押せば,( 図 6)の よ う な 画 面 が 表 示

されて 自動 的 に ラムディスクに ファイルが転送される。C : ドライブに変更 し

て 「 j xw ( CR)」 とすればほん の僅か待つだけで 「 一太郎」 が利用 で きる0

7 .お わ り に

MS‑DOSのマ クロアセ ンブ ラで作 成 した初期化 時 に フ ァイル を転 送 す る ラ ムデ ィスクに関 して, 自分 が作 成 した フ ァイルの転送 の所 に重点 をおいて簡単 に説 明 を行 った。 ソースプログラムは冗長 であ り, また原稿 の長 さの制 限 もあ

り,省略 した。

参考 文献 [1] 『 MS‑DOS ユーザーズマニ ュアル 』NEC

[2] 『 標準 MS‑DOS ハンドブック』アスキー出版局,1 9 8 5.

[31 『 MS‑DOS プログラマーズハ ン ドブ ック』 アスキー出版局 ,1 9 8 5. ・ [4] 『 MS‑DOS マ クロアセ ンブ ラ入 門』 藤木文彦著, ナ ツメ社 1 9 85 . [5、 ] 『 応用 MS‑DOS 』村瀬康 治著, アスキー出版局 ,1 9 8 6.

[6] 『 MD‑DOS 構造解析』押 野崇芳著, ナ ツメ社 ,1 9 8 5.

[7] 『 ユ ーテ ィリテ ィ&内部 ルーチ ン解析』宮崎淳,角谷博孝著,技術評論社 ,1 9 8 4.

[8] 『 pc‑9 8 0 0 シ リー ズ テ クニカルデー タブ ック』 アスキー出版局 ,1 9 86 .

[9] 『 pc‑9 8 01 システ ム解析 ( 上 ) 』 浅野泰 之,壁谷 正 洋,金磯 善博 ,桑野雅彦著, ア

スキー出版局 ,1 9 85 .

参照

関連したドキュメント

授業時に LACS が利用できるメリットとしては,授業時間外に LACS に

なお,パワーポイントのスライド形式+音声を保存した 場合1回の講義あたり約 300Mbyte

ソフ トを利用 す るユ ーザ ーにとってみれば ソフ トの機能 が重要 な関心事 であ ることは勿論 で あるが、また、それ を利用す る際の操作 の簡易 さ、入力か ら応 答

気乾状態に置いた ものは,一般に消化が悪い・その中にあって③の下水を加 えた ものお や や良好 な結果が出た.① と④,② と⑤のように同一条件な

「持 続 的 発 展 可 能 な 防 災 Sust ai nabl eHazar d Mi t i gat i on 」 3 という言葉が現在,防災対策のキー

「エコ・フィロソフィ」研究 Vol.10 別冊 シンポジウム・研究会 編 46 うことです。

う、全員に指令しました。午後には全員に乾パンが配給されました。田奈部隊の学生は実によく統制されていま

が必要になるだろうという現実。こうしたなか、今日