CP/Mコマンド概要メモ
ビルドインコマンド
DIR
ファイル名のリストアウト。
カレントドライブの全リスト。
A>DIR
ドライブ指定。
A>DIR B:
ファイルマッチ。
A>DIR *.ASM
TYPE
テキストファイルのタイプアウト。
A>TYPE DUMP.ASM
REN
リネーム。左が変更後名。右が変更前。
A>REN MACRO-80.COM=M80.COM
ERA
ファイル削除。
A>ERA MOVECOM.COM A>ERA B:*.* ALL (Y/N)?Y
SAVE
TPAの始まり(100H)からnページ分のメモリの内容をファイルにする。1ページは256バイト。
A> SAVE 2 TESTSAVE.COM
USER
有用でないため説明省略。
トランジェントコマンド
STAT
ファイルや周辺装置の設定、状況表示。
アクセスされたことのあるドライブの未使用容量と属性の表示。
A>STAT
ドライブの未使用エリア容量表示。
A>STAT A:
ファイルのサイズと属性表示。
A>STAT B:M80.COM
レコード数(size)も表示。
A>STAT B:M80.COM $S
SYS属性を付ける。
A>STAT B:M80.COM $SYS
ロジカルデバイスに対するフィジカルデバイスの割付け状況表示。
A>STAT DEV:
ロジカルデバイスに対し割付け可能なフィジカルデバイスを表示。
A>STAT VAL:
CON:に対しTTY:を割り付ける。
A>STAT CON:=TTY:
アクセスされたドライブ全部の諸元を表示。
A>STAT DSK:
ドライブにライトプロテクトをかける。
A>STAT A:=R/O
PIP
周辺装置間のデータ転送。引数なし単独起動可能。
ファイルコピー。左がコピー先。右が元。
A>PIP B:=ED.COM
リネームコピー。
A>PIP B:MACRO-80.COM=A:M80.COM
デバイスに対しても可能。CON:へコピーすれば、画面へ表示される。(=TYPEコマンド)
A>PIP CON:=B:TEST.BAS
タイプ入力をファイルにする。(終了は^Z)
TeraTerm等で直接ファイル転送ができる。Setup>Serialport>Transmit deleyを10msecぐらいに設定。File>Send fileでファイル選択。
A>PIP TEST.TXT=CON:
ファイルの連結。
A>PIP TEST.BAS=TEST0.BAS,TEST1.BAS,TEST2.BAS
オプションパラメータの与え方
A>PIP TEST.TXT=RDR:[B]
PIPパラメータ | 機能 |
---|---|
B | ブロック転送。^S受信でバッファフラッシュ。 |
Dn | ライン文字数制限。 |
E | コンソールへエコー。 |
F | フォームフィード(0CH)を削除。 |
H | インテルHEX形式のデータとしてフォーマットチェックを行う。 |
I | [H]の機能時にヌルレコードを無視する。 |
L | 大文字を小文字に変換。 |
N | ラインナンバー付加。ゼロ付きは[N2]。 |
O | EOF(1AH):^Zによる終端を無視。バイナリー転送可能とする。 |
Pn | nラインごとのページ送り。デフォルト60行。 |
Q文字列^Z | '文字列'を検索すると終了する。 |
S文字列^Z | '文字列'を検索したところから転送開始する。 |
R | SYS属性の付いたファイルの転送。 |
Tn | タブスペースをnカラムとする。 |
U | 小文字を大文字に変換する。 |
V | ベリファイを行う。 |
W | 転送先がR/Oでも強制的に実行する。 |
Z | データのビット7を0にして転送する。 |
PIP特殊デバイス
デバイス名 | 機能 |
---|---|
EOF: | ターミネートコードEOF(1AH)を出力する。 |
NUL: | 40個のNUL(00)を出力する。 |
PRN: | ラインNo.、8文字ごとTAB、60ラインごとのページ割付きLST:デバイス。 |
INP: | ユーザがPIP内(109F-1FFH)にパッチして組込む。103HをCALL、109Hのデータを取得する。 |
OUT: | ユーザがPIP内(109F-1FFH)にパッチして組込む。出力データをCレジスタに設定して106HをCALLする。 |
ED
テキストエディタ。
A>ED B:TEST.BAS
EDコマンド | 機能 |
---|---|
nA | エディットバッファにn行ロード。 |
0A | エディットバッファの容量半分までロード。 |
±B | CPを+先頭/-最後にセット。 |
±nL | n行移動し行頭にCPをセット。 |
±n | nLを実行し、その行をタイプアウト。 |
0 | CPを行頭にセットしタイプアウト。 |
{Enter} | CPを次の行の行頭にセットし、タイプアウト。 |
n: | CPをラインNo.nの頭にセット。 |
±nT | CPからn行分タイプアウト。 |
0T | 行頭からCPまでタイプアウト。 |
n::mT | ラインNo.n-mまでをタイプアウト。 |
±nC | CPをn文字移動する。 |
±nP | CPからnページ(23行)タイプアウト。 |
nF文字列 | CP以後バッファ内で、n番目に出現した文字列の最後にCPをセット。 |
nN文字列 | CP以後ファイル内で、n番目に出現した文字列の最後にCPをセット。 |
±nD | CPからn文字分削除。 |
±nK | n行分削除。+(CP含む)/-(CP含まない) |
I | CP以後からインサートモード。^Zで終了。 |
I文字列^Z | 文字列挿入。 |
I文字列{Enter} | 文字列挿入し、行を追加する。 |
Rfilename | filenameLIBファイルをCP以後に挿入する。 |
nS文字列1^Z文字列2 | CP以後のバッファ内で文字列1を文字列2に置換する。n回繰り返し。 |
nJ文字列1^Z文字列2^Z文字列3 | 文字列1の後に文字列2を挿入、文字列3まで削除。n回繰り返し。 |
nX | CPからn行分をテンポラリファイルに保存(=行コピー) |
R | テンポラリファイルに保存されている行をCP以後に挿入する(=行ペースト) |
0X | テンポラリファイルを空にする。 |
±U | U実行後の入力文字は大文字に変換。-Uで解除。 |
nMcommand | commandをバッファの最後までn回実行。 |
Mcommand | commandをバッファの最後まで繰返し実行。 |
±V | -VでラインNo.非表示。 |
0V | エディットバッファ使用状況表示。 |
nZ | 表示ディレイ設定。(4MHzクロックで1/4秒) |
nW | エディットバッファ最初からn行カットしテンポラリファイルに保存。 |
E | 保存終了。 |
H | 保存。 |
O | 編集全キャンセル。 |
Q | 編集キャンセル終了。 |
n:command | CPをnラインにセットしcommand実行。 |
:n command | commandをCPからnラインまでに対して実行。 |
- CP:キャラクタポインタ。
- +は省略可。
- nが1の時省略可。#は最大数(=65536)。
- コマンドを大文字で与えると、テキストの小文字が全部大文字になるので注意。
ASM
8080アセンブラ。
ターゲットファイルの指定は拡張子は付けない。.以下の3文字はドライブ名を表す。filename.shp (s:ソース。h:HEX出力先。p:PRN出力先)の意味。Z:出力しない。X:コンソール。
A>ASM DUMP
ドライブAのソースをアセンブルするが何も生成しない。エラーはコンソールに出力。
A>ASM DUMP.AZZ
ASMエラーコード
コード | エラー | エラーの原因 |
---|---|---|
D | Data | エクスプレッションの値がデータエリアに適合しない。 |
E | Expression | 表現上のエラー。 |
L | Label | ラベルが不正。 |
N | Not implemented | インプリメントされていない命令を使用した。 |
O | Overflow | エクスプレッションの値が限度を超えた。 |
P | Phase | アセンブラ実行中の各パスで、ラベルの値が異なった。 |
R | Register | 適合しないレジスタが指定された。 |
U | Undefined | ラベルが定義されていない。 |
V | Value | オペランドやエクスプレッションの値が範囲外。 |
LOAD
HEX→COM変換プログラム。
A>LOAD B:TEST
DDT
8080デバッガ。
ファイルを指定した場合は、それをアドレス100Hからメモリへ配置して起動する。HEXファイルの場合はバイナリに変換しHEX内で指定されたアドレスへ配置される。
A>DDT DUMP.COM
コマンドの書式(アドレスの指定方法)Dコマンドの例。
-D ;現在のアドレスから規定バイト -Dssss ;指定のアドレスから規定バイト -Dssss,eeee ;指定から指定まで -D,eeee ;現在から指定まで
DDTコマンド | 例 | 機能 |
---|---|---|
A | Assss | 1ステップ毎のラインアセンブル。ssssからロード。スペースで終了。 |
D | D | ダンプ。デフォルト12行。 |
F | Fssss,eeee,cc | ccHで埋める。 |
G | Gssss,bbbb | ブレークポイントbbbbを設定(,で複数可)して実行する。 |
H | Hxxxx,yyyy | xxxxとyyyyの十六進加算減算結果表示。 |
I | IDUMP.COM | アドレス5CHのファイルコントロールブロックにファイル名を設定。 |
R | Rbbbb | Iで指定したファイルに対し起動時指定と同じ動作。bbbbはバイアス値。 |
L | Lssss | 逆アセンブル。デフォルト11ライン。 |
M | Mssss,eeee,nnnn | nnnnからへブロック転送。 |
S | Sssss | 内容を表示。変更可能。リターンで次。"."(ドット)で終了。 |
Tn | T3 | 現PCからnステップトレース。CPU状態表示。任意のキーでブレーク。 |
Un | U5 | 最終のCPU状態のみ表示するTn。 |
X | X | レジスタ類の表示。Xrでr(レジスタ:C,Z,M,E,I,A,BC,DE,HL,S,P)指定で変更可能。 |
DUMP
ファイルの16進ダンプ。
A>DUMP DUMP.ASM
SUBMIT
バッチ処理プログラム。処理定義ファイル(subfile.SUB)はA:ドライブでなければいけない。
TEST.SUBを実行する。
A>SUBMIT TEST
SYSGEN
CP/Mシステムディスク作成プログラム(機種依存) → CP/Mメモリサイズ変更手順メモ
TPA(ユーザーメモリ)上の900Hから配置されたシステムトラックイメージをシステムトラックに書き込む。
A>SYSGEN
ファイル化したCP/Mシステム48KCPM.COMからシステムディスクを作る。
A>SYSGEN 48KCPM.COM
MOVCPM
CP/Mシステムのリロケートプログラム。リロケータブルなシステムイメージを内包しており、任意メモリサイズのシステムを生成できる。→ CP/Mメモリサイズ変更手順メモ
32KCP/Mシステム(CCP/BDOS)を生成しTPA(980H〜)に配置する。
A>MOVCPM 32 *
可能な最大メモリサイズのCP/Mシステムを生成する。
A>MOVCPM * *
AVRとZ80でCP/M へ戻る
- cp/m マシンを3台所有。3.5 inch floppy drive . 懐かしいです。ありがとう - Kazuhiro NOGAKI (2017年07月22日 09時43分58秒)
- Mac,Winの比較でMacは中身Unixで対応コマンドが使える,Winは×,いやPowerShellがあるという議論を聞いた.自分は割とWinコマンドプロンプト派なのだがよく考えるとCP/Mからのものだったと納得 - 古い人 (2023年11月24日 10時20分30秒)
トップ メニュー
This web page is described in Japanese, but you can read in English by translation site.