復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第94回]
●ファンクションコール一覧表(2)
ファンクションコール一覧表は[第60回]でお見せしました。
説明済みのファンクションコールは水色で着色しましたが、そのときはまだ表のほとんどが未着色の状態でした。
そのときからもう1ヶ月が過ぎてしまいました。
その間、未着色だったファンクションコールも大半のものが説明済みになりました。
そこで、以前のファンクションコール一覧表に説明回を付記するとともに、前回までのところで説明を終わったファンクションコールは水色で着色してお見せすることにいたしました。
ファンクション(Cレジスタにセットする値) | 機能 | パラメータセット DEまたはEに値をセットする |
結果 | 説明(初出)回 |
0 00(16進) | システムリセット | なし | システムがリセットされる | |
1 01 | コンソール入力 | なし | A=文字コード | 第39回 |
2 02 | コンソール出力 | E=文字コード | 文字が表示される | 第39回 |
3 03 | リーダー(RDR)入力 | なし | A=文字コード | 第78回 |
4 04 | パンチ(PUN)出力 | E=文字コード | PUN:に出力される | 第74回 |
5 05 | リスト(LST)出力 | E=文字コード | LST:(プリンタ)に出力される | |
6 06 | コンソール入出力 | 入力:E=FF 出力:E=文字コード | 入力:A=文字コード 出力:文字が表示される | 第79回 |
7 07 | IOバイト取り出し | なし | A=IOバイト | 第61回 |
8 08 | IOバイトセット | E=IOバイト | IOバイトがセットされる | 第63回 |
9 09 | 文字列出力 | DE=文字列アドレス | 文字列が表示される | 第41回 |
10 0A | コンソールバッファ入力 | DE=バッファアドレス | バッファに入力される | 第64回 |
11 0B | コンソールステータスチェック | なし | 入力あり:A=FF 入力なし:A=00 | 第68回 |
12 0C | バージョンn謔闖oし | なし | H=00 L=バージョン | 第61回 |
13 0D | ディスクリセット | なし | すべてのディスクがリセットされる | 第92回 |
14 0E | ディスクドライブセレクト | E=ドライブ | デフォルトディスクに指定される | 第82回 |
15 0F | ファイルオープン | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | 第46回 |
16 10 | ファイルクローズ | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | 第51回 |
17 11 | 最初のファイルサーチ | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | 第65回 |
18 12 | 次のファイルサーチ | なし | 正常:A=ディレクトリコード 異常:A=FF | 第65回 |
19 13 | ファイル削除 | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | 第51回 |
20 14 | シーンシャルリード | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | 第46回 |
21 15 | シーケンシャルライト | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | 第51回 |
22 16 | 新規ファイル作成 | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | 第51回 |
23 17 | ファイル名の変更 | DE=FCBアドレス | 正常:A=00 異常:A=FF | 第93回 |
24 18 | ログインベクトルの取り出し | なし | HL=ログインベクトル | 第90回 |
25 19 | ログインディスクbフ取り出し | なし | A=ディスク | 第90回 |
26 1A | DMAアドレスのセット | DE=DMAアドレス | DMAアドレスがセットされる | 第56回 |
27 1B | アローケーションアドレスの取り出し | なし | HL=アローケーションベクトルアドレス | 第95回 |
28 1C | ライトプロテクトセット | なし | ログインディスクがR/O(リードオンリー)になる | 第91回 |
29 1D | R/Oベクトルの取り出し | なし | HL=I/Oベクトル | 第91回 |
30 1E | ファイルアトリビュートセット | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | 第99回 |
31 1F | ディスクパラメータアドレスのセット | なし | HL=ディスクパラメータアドレス | 第96回 |
32 20 | ユーザーコードのセット | |||
33 21 | ランダムリード | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | 第108回 |
34 22 | ランダムライト | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | 第102回 |
35 23 | ファイルサイズの計算 | DE=FCBアドレス | FCB末尾3バイトにファイルサイズが入る | 第109回 |
36 24 | ランダムレコードアクセスポインタの更新 | DE=FCBアドレス | FCB末尾3バイトにレコードbェ入る | 第111回 |
37 25 | ディスクドライブのリセット | DE=ドライブベクトル | ベクトルで指定したドライブがリセットされる | 第100回 |
38 26 | 未定義 | |||
39 27 | 未定義 | |||
40 28 | ゼロファイルを伴うランダムライト | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | 第110回 |
(2012.5.4現在)
表中ピンクで示したbヘ、私が考えているシステムでは使わないつもりのものです。
次回以降で説明する回が決まっているものにもその説明回を記しました。
ご覧の通り、大きいところでは、あとはランダムアクセスファイルに関するファンクションコールが残っているだけになりました。
ランダムアクセスファイルについては現在検証中です。
[第101回]以後での説明を予定しています。
ワンボードマイコンでCP/Mを![第94回]
2012.4.17upload
2012.4.18更新
2012.4.19更新
2012.4.22更新
2012.4.23更新
2012.4.25更新
2012.5.1更新
2012.5.2更新
2012.5.3更新
2012.5.4更新
2012.6.2リンク先間違いを修正
前へ
次へ
ホームページトップへ戻る