2012.3.6
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第52回]

●COPYプログラムの実行

前回説明をしましたCOPYプログラムをZASM.COMでアセンブルしました。
今までと同じ手順です。
できたバイナリファイルftst5cpy.binを、ZB3BASICを起動して、8100Hからのトランジェントエリアにロードします。
これも毎回説明しています。
CP/Mのトランジェントエリアは0100H〜が本来ですが、現在は仮システムですので8100H〜になっています。

下の画像はftest5cpy.txtをzasm.comでアセンブルしたあと、ZB3[Enter]の入力で、ND80ZVとUSB接続を確立したところです。



このあとの作業はいつものようにログファイルを見ながら説明をすることにいたします。

logfile nd80zlog\03050825.txt open

ND80ZVに接続しました
0001 0000 - z
1000 00C3 - 
*** nd80z3 basic ****
>/ld ftst5cpy.bin,8100
loading FTST5CPY.BIN ...00af(175)bytes loaded,from 8100 to 81AE
>jp d233

a>dir
A: FILLE5   COM : FTEST1   COM : FTEST2   COM : DM       COM
A: TEST     COM : FTEST4   COM : FTEST4-1 TXT : FTEST4-2 COM
A: FTEST4-3 COM
a>save 1 copy.com
a>dir
A: FILLE5   COM : FTEST1   COM : FTEST2   COM : DM       COM
A: TEST     COM : FTEST4   COM : FTEST4-1 TXT : FTEST4-2 COM
A: FTEST4-3 COM : COPY     COM
a>copy ftest4-1.txt testdata.txt
copy done

a>dir
A: FILLE5   COM : FTEST1   COM : FTEST2   COM : DM       COM
A: TEST     COM : FTEST4   COM : FTEST4-1 TXT : FTEST4-2 COM
A: FTEST4-3 COM : COPY     COM
a>^D>a>^D>

/LDコマンドでftest5cpy.binを8100H〜にロードしました。
そのあと
JP D233[Enter]
でCP/Mを起動しました。
最初にまずDIRコマンドでRAMディスクのディレクトリを表示させました。

さきほど8100H〜にロードしたCOPYプログラムを、COPY.COMという名前でRAMディスクにセーブします。
save 1 copy.com[Enter]
の実行です。

そのあともう一度DIRコマンドを入力して、copy.comがセーブされていることを確認しました。

いよいよCOPY.COMの実行です。
FTEST4−1.TXTをTESTDATA.TXTという名前で同じRAMディスクにコピーしてみます。

copy ftest4−1.txt testdata.txt[Enter]

と入力しました。

copy done

と表示されましたから、コピーは正常に完了したはずです。
ところが。

●コピーしたはずのファイルが表示されません

COPY.COMの実行後に、DIRコマンドでディレクトリを表示させてみたのですが、コピーしたはずのTESTDATA.TXTが表示されません(上のログファイルの最後)。
んな、ばかな。

ZB3BASICに戻って、CP/Mのシステムエリアをダンプ表示して確認してみました。



ちゃんとFCBWK(803BH〜805BH)には、TESTDATA.TXTの文字が見えます。
さらによく見てみますと、その先頭から17バイト目には、ディスクアローケーションマップらしきものも書き込まれています。

そういえば、アドレス8080H〜80FFHのDMAエリアには、ディレクトリエリアの内容が残っています。
そこにはちゃんとTESTDATATXTがあるじゃありませんか。
むむ。
なんらかの理由で、このディレクトリ情報がRAMディスクに書き込まれなかったのか?

そこで、続いて8800〜のRAMディスクのディレクトリエリアも、DMコマンドで表示させてみました。

>dm 8800,88ff
8800  00 46 49 4C 4C 45 35 20-20 43 4F 4D 00 00 00 02  .FILLE5  COM....
8810  02 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8820  00 46 54 45 53 54 31 20-20 43 4F 4D 00 00 00 02  .FTEST1  COM....
8830  03 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8840  00 46 54 45 53 54 32 20-20 43 4F 4D 00 00 00 02  .FTEST2  COM....
8850  04 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8860  00 44 4D 20 20 20 20 20-20 43 4F 4D 00 00 00 04  .DM      COM....
8870  05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8880  00 54 45 53 54 20 20 20-20 43 4F 4D 00 00 00 02  .TEST    COM....
8890  06 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
88A0  00 46 54 45 53 54 34 20-20 43 4F 4D 00 00 00 02  .FTEST4  COM....
88B0  07 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
88C0  00 46 54 45 53 54 34 2D-31 54 58 54 00 00 00 06  .FTEST4-1TXT....
88D0  08 09 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
88E0  00 46 54 45 53 54 34 2D-32 43 4F 4D 00 00 00 02  .FTEST4-2COM....
88F0  0A 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
>dm 8900,89ff
8900  00 46 54 45 53 54 34 2D-33 43 4F 4D 00 00 00 02  .FTEST4-3COM....
8910  0B 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8920  00 43 4F 50 59 20 20 20-20 43 4F 4D 00 00 00 02  .COPY    COM....
8930  0C 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8940  00 54 45 53 54 44 41 54-41 54 58 54 B8 00 00 06  .TESTDATATXTク...
8950  0D 0E 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8960  E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5  ................
8970  E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5  ................  

うむむ。
ちゃんとTESTDATATXTは登録されていますねえ。
それなのに、なぜDIRコマンドでは表示されないのでしょうか?

首をかしげながら、しばらくこのダンプリストを眺めていたのでありますが。
ひょっとしたら…。
あることに気が付きました。

説明の途中ですが、本日は時間がなくなってしまいました。
この続きは次回にすることにいたします。

ワンボードマイコンでCP/Mを![第52回]
2012.3.6upload

前へ
次へ
ホームページトップへ戻る