復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第38回]
●フォーマットプログラムのアセンブルと実行
前回お見せしました、仮RAMディスクのフォーマットプログラムはnd80z3フォルダーで作成保存します。
; FILL E5 for CP/M RAM DISK
;
ORG $8100
REENT=$1033
;
LD HL,$8800
LD B,E5
LOOP:LD (HL),B
INC HL
LD A,H
CP B8
JP NZ,LOOP
JP REENT
;
|

2012/2/18 22:17 fille5.txt
END=810F
; FILL E5 for CP/M RAM DISK
;
ORG $8100
REENT=$1033
;
8100 210088 LD HL,$8800
8103 06E5 LD B,E5
8105 70 LOOP:LD (HL),B
8106 23 INC HL
8107 7C LD A,H
8108 FEB8 CP B8
810A C20581 JP NZ,LOOP
810D C33310 JP REENT
;
LOOP =8105 REENT =1033
|





logfile nd80zlog\02182218.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >/ld fille5.bin,8100 loading FILLE5.BIN ...0010(16)bytes loaded,from 8100 to 810F >jp 8100 >d.,8800,884f 8800 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8810 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8820 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8830 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8840 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ >d.,b7c0,b7ff B7C0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ B7D0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ B7E0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ B7F0 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ >/ld cpm22g.bin,bc00 loading CPM22G.BIN ...1709(5897)bytes loaded,from BC00 to D308 >jp d233 a>dir No file a>save 1 fille5.com a>dir A: FILLE5 COM a>fille5 >jp d233 もう一度CP/Mに戻ります a>dir No file a>save 1 fille5.com a>dir A: FILLE5 COM a>^D>a>^D> ZB3BASICに戻ります ERR:23 >d.,8800,887f 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 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 8830 E5 E5 E5 E5 E5 E5 E5 E5-E5 E5 E5 E5 E5 E5 E5 E5 ................ 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 ................ >/exit 0000 00C3 - リモート接続を終了しました logfile closed at Sat Feb 18 22:38:20 2012 |
ZB3BASICに戻った後、jp d233[Enter]でもう一度CP/Mに戻りました。
上の「もう一度CP/Mに戻ります」とコメントしたところです。
FILLE5プログラムの実行によって、RAMディスクエリアをE5でクリアしてしまいましたから、DIRコマンドを実行すると、No Fileと表示されました。
そこで、もう一度さきほどと同じように、save 1 fille5.com[Enter]を実行して、ファイルを保存したあと、今度はFILLE5.COMを実行しないで、[Ctrl][D]を入力してCP/Mを強制終了して、ZB3BASICに戻りました。
CP/Mの終了は本当は[Ctrl][C]を入力するのですが、そうするとZB3BASICそのものが強制終了してしまいますから、代わりに[Ctrl][D]を使います([第20回]参照)。
^D>の表示後に[Enter]を押すと改行してERR:23が表示されますが、これはZB3BASICがそのような操作を想定していないからです。
これ以後ZB3BASICの通常の操作が可能になります。
RAMディスクの先頭のディレクトリエリアをダンプメモリコマンドで表示させてみました。
D.,8800,887F[Enter]の実行です。
FILLE5.COMがファイルとして登録されています。
ディレクトリエリアは1ファイルにつき32バイトを使います。
ファイル名の後、右端に02と表示されているところがファイルサイズです。1ページ(2セクタ=256バイト)を示しています。
後半の16バイトにはデータ(プログラム)が保存されているブロックb格納します。
ここにも02が表示されています。
これはブロックbQを示しています。
ブロック0とブロック1はディレクトリエリアに割り当てられていますから、その後のブロック2からがデータの保存用に使われます。
ND80ZVをお持ちの皆様は、これまでの説明の通りに作業していただきましたら(メモリ増設基板の作成やROMの変更作業は除外します)、今回説明しました通りのことを実際に体験していただくことができます。
ぜひ皆様ご自身で体験してみてください。
ワンボードマイコンでCP/Mを![第38回]
2012.2.19upload
前へ
次へ
ホームページトップへ戻る