復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第150回]
●シーケンシャルファイルにランダムアクセスをする
前回説明をしましたファンクションコール24Hのテストは、[第111回]〜[第113回]で書いたことをそのまま再現するような形で行ないました。
ファンクションコール24Hは、シーケンシャルファイルのレコードを読んで、その次のレコードbゥらランダムアクセスできるようにするためのアクセスキーを取得します。
なんだかわかったようなわからないような機能ですが、とにかく[第111回]〜[第113回]と同じようにテストして、そのときと同じ結果を得ることができました。
ファンクションコール24Hのテストにつきましては、それで終わりです。
[第113回]では、「次回でさらに進んでファンクションコール24Hのテストをします」と書いておりますが、結局それはしておりません。
ちょいといい加減ですけれど、ファンクションコール24Hの使い方や目的が今ひとつピンときませんから、そういうことでも、まあいいかと。
ところで、その次の回の[第114回]からは、シーケンシャルファイルのままで、ランダムアクセスする、などというとんでもないことを書いています。
一般的な使い方から外れたイレギュラーなやり方ですので、そういうものは再現しなくてもよい、のですけれど、互換性の確認という観点からしますと、そういうものにつきましても検証のためにやっておいて無駄にはならないと思います。
ということで、余計な作業ですけれど、[第114回]から先に行ないましたことも、そのままCP/M互換DOSの上で再実行してみることにしました。
[第114回]では、FTST20−4.COMを使って、作成済みのシーケンシャルファイルTEST.SAFの一部のレコードにランダムアクセスして、その内容を書き換えてしまいます。
実行に先立って、ランダムリードするためのレコード番号表を作成します。
また後で結果の確認ができるように、一部のレコードの内容を書き換えておきます。
そのあと、
ftst20−4 test.saf[Enter]を実行します。
[第115回]ではFTST24−2.COMを使って、TEST.SAFの内容をランダムに読み出しています。
こちらもあらかじめレコード番号表を作成して、それにしたがってシーケンシャルファイルTEST.SAFを「ランダムリード」します。
ftst24−2 test.saf[Enter]の実行です。
そして[第116回]ではFTST24−4.COMを使って、前回と同じことをしています。
しかし今度は「シーケンシャルファイル」を「ランダムリード」を使って「ランダムにリード」するのではなくて、「シーケンシャルファイル」を「シーケンシャルリード」を使って「ランダムにリード」します(ちょっと苦しい日本語です)。
今回もそれと同じことをしてみます。
まず最初は[第114回]の再現です。
logfile nd80zlog\06030830.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >cm 8500 8500 C8-15 8501 01-1f 8502 20-13 8503 00-10 8504 09-07 8505 C1-03 8506 0C-ff 8507 05- >cm 8d80 8D80 03-ff 8D81 03-ff 8D82 03-ff 8D83 03-ff 8D84 03- >dm 8d80,8d8f 8D80 FF FF FF FF 03 03 03 03-03 03 03 03 03 03 03 03 ................ >cm 8f80 8F80 07-ff 8F81 07-ff 8F82 07-ff 8F83 07-ff 8F84 07- >dm 8f80,8f8f 8F80 FF FF FF FF 07 07 07 07-07 07 07 07 07 07 07 07 ................ >/ld ftst20-4.bin,8100 loading FTST20-4.BIN ...0098(152)bytes loaded,from 8100 to 8197 >jp d233 |
A>dir A: FTST23 COM : TEST SAF : FTST24 COM : FTST25 COM A>save 1 ftst20-4.com A>ftst20-4 test.saf done A>end of ZBDOS >dm 8800,88ff 8800 00 46 54 53 54 32 33 20-20 43 4F 4D 00 00 00 02 .FTST23 COM.... 8810 01 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8820 00 54 45 53 54 20 20 20-20 53 41 46 00 00 00 20 .TEST SAF... 8830 02 03 04 05 0B 09 00 0A-00 00 00 00 00 00 00 00 ................ 8840 00 46 54 53 54 32 34 20-20 43 4F 4D 00 00 00 02 .FTST24 COM.... 8850 06 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8860 00 46 54 53 54 32 35 20-20 43 4F 4D 00 00 00 02 .FTST25 COM.... 8870 07 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8880 00 46 54 53 54 32 30 2D-34 43 4F 4D 00 00 00 02 .FTST20-4COM.... 8890 08 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88A0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 88B0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 88C0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 88D0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 88E0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 88F0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ >dm 8d80,8d9f 8D80 03 03 03 03 03 03 03 03-03 03 03 03 03 03 03 03 ................ 8D90 03 03 03 03 03 03 03 03-03 03 03 03 03 03 03 03 ................ >dm 8f90,8faf 8F90 07 07 07 07 07 07 07 07-07 07 07 07 07 07 07 07 ................ 8FA0 07 07 07 07 07 07 07 07-07 07 07 07 07 07 07 07 ................ >dm 9a80,9a9f 9A80 15 15 15 15 15 15 15 15-15 15 15 15 15 15 15 15 ................ 9A90 15 15 15 15 15 15 15 15-15 15 15 15 15 15 15 15 ................ >dm 9d80,9d9f 9D80 1F 1F 1F 1F 1F 1F 1F 1F-1F 1F 1F 1F 1F 1F 1F 1F ................ 9D90 1F 1F 1F 1F 1F 1F 1F 1F-1F 1F 1F 1F 1F 1F 1F 1F ................ >dm 9e00,9e1f 9E00 10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................ 9E10 10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................ >dm 9f80,9f9f 9F80 13 13 13 13 13 13 13 13-13 13 13 13 13 13 13 13 ................ 9F90 13 13 13 13 13 13 13 13-13 13 13 13 13 13 13 13 ................ >0000 00C3 - リモート接続を終了しました logfile closed at Sun Jun 03 08:38:52 2012 |
>dm 8800,887f 8800 00 46 54 53 54 32 33 20-20 43 4F 4D 00 00 00 02 .FTST23 COM.... 8810 01 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8820 00 54 45 53 54 20 20 20-20 53 41 46 00 00 00 10 .TEST SAF.... 8830 02 03 04 05 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8840 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8850 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8860 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8870 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ |
>dm 8d80,8d9f 8D80 03 03 03 03 03 03 03 03-03 03 03 03 03 03 03 03 ................ 8D90 03 03 03 03 03 03 03 03-03 03 03 03 03 03 03 03 ................ >dm 8f80,8f9f 8F80 07 07 07 07 07 07 07 07-07 07 07 07 07 07 07 07 ................ 8F90 07 07 07 07 07 07 07 07-07 07 07 07 07 07 07 07 ................ >dm 9a80,9a9f 9A80 15 15 15 15 15 15 15 15-15 15 15 15 15 15 15 15 ................ 9A90 15 15 15 15 15 15 15 15-15 15 15 15 15 15 15 15 ................ >dm 9d80,9d9f 9D80 1F 1F 1F 1F 1F 1F 1F 1F-1F 1F 1F 1F 1F 1F 1F 1F ................ 9D90 1F 1F 1F 1F 1F 1F 1F 1F-1F 1F 1F 1F 1F 1F 1F 1F ................ >dm 9e00,9e1f 9E00 10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................ 9E10 10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................ >dm 9f80,9f9f 9F80 13 13 13 13 13 13 13 13-13 13 13 13 13 13 13 13 ................ 9F90 13 13 13 13 13 13 13 13-13 13 13 13 13 13 13 13 ................ >0000 00C3 - リモート接続を終了しました logfile closed at Sun Jun 03 08:38:52 2012 |
logfile nd80zlog\06030844.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >cm 8400 8400 06-0f 8401 D2-0e 8402 C2-0d 8403 0D-0c 8404 C7-0b 8405 E1-0a 8406 C9-09 8407 CD-08 8408 09-07 8409 D2-06 840A FE-05 840B 13-04 840C C2-03 840D 20-02 840E C7-01 840F CD-00 8410 09-ff 8411 D2- >/ld ftst24-2.bin,8100 loading FTST24-2.BIN ...00f1(241)bytes loaded,from 8100 to 81F0 >jp d233 |
A>b: B>save 1 ftst24-2.com B>ftst24-2 a:test.saf 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 end B>end of ZBDOS >0000 00C3 - リモート接続を終了しました logfile closed at Sun Jun 03 08:47:18 2012 |
logfile nd80zlog\06030848.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >/ld ftst24-4.bin,8100 loading FTST24-4.BIN ...00ea(234)bytes loaded,from 8100 to 81E9 >jp d233 A>b: B>save 1 ftst24-4.com B>ftst24-4 a:test.saf 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 end B>end of ZBDOS >0000 00C3 - リモート接続を終了しました logfile closed at Sun Jun 03 08:49:34 2012 |