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.

  • このサイトはリンクフリーです。
  • コメント欄は改行せず一行で入れてください。
  • スパム判定ではじかれた場合は、その後に「書込みました」旨のみのコメント等何らかの書き込み成功していただけると早く対応できます。
  • 非日本語対応ブラウザからは書き込みできません。