S1実機で使用するツール類の使い方を完全に忘れているので操作をまとめておきます^^
S1の標準モニタ
各コマンドのサフィックスLは変更した内容を同一行に表示(DL以外)、サフィックスPは表示のみ
引数のセパレータはカンマ又はスペース
コマンド | 機能 | 引数 |
B |
ブレークポイントの表示と設定 |
BL <番号>:<$番地> (<機能>, <$回数>) |
D | メモリの表示 | D [<$開始番地>], [<表示行数>] |
DL | Dコマンドの表示行数設定 | DL <表示行数> |
E | メモリのスクリーン編集 | E [<$開始番地>] 256バイト分のデータがスクリーンエディタで編集可能 カーソルキー← → ↑ ↓で移動可能 CTRL + A = 編集モード切替 (HEX / ASCII) CTRL + B (SHIFT + ← ) = 先頭番地を256バイト前に移動 CTRL + F (SHIFT + → ) = 先頭番地を256バイト後ろに移動 CTRL + G = カーソル位置にブレークポイント5を設定 Enter = Eコマンド終了 |
F | メモリをデータで埋める | F <$開始番地>, <$終了番地>, <$データパターン> 又は F <開始番地>, @<バイト数>, <$データパターン> |
G | 機械語プログラムの実行 | G [<実行開始番地>] 実行開始番地を省略するとPCの番地から開始 中断は[BREAK], [CTRL+C], [BREAK+RESET]でレジスタを表示して中断 [CTRL+D]でレジスタ値を表示 |
H | HEXの和と差を求める | H <$値1>, <$値2> 値1と値2は4桁以内のHEX |
HC | ハードコピーモード設定 | HC [<ハードコピーモード>] ハードコピーモードを省略すると反転 ハードコピーモード = 0(出力しない), 1(出力する) |
M, ML | 16バイトメモリ内容表示と設定 | M [<$開始番地>] 開始番地を省略で記憶している番地+1 |
MAP MAPL MAPP |
メモリ空間番号の表示と設定 | MAP [<$メモリ空間番号>] D~Fは変更不可 メモリ空間番号を省略で現在のメモリ空間番号の設定と表示(CURRENT MAP) メモリ空間番号0~6はシステム予約領域なので変更しないこと ユーザ領域のマップイメージはDEFMAP=0で空間F、DEFMAP=1~3は空間Eにマップイメージがある |
Q | モニタ終了 | Q 引数なし |
R RL RP |
レジスタの表示と変更 | R 引数無し 表示内容 S=aaaa(bbbb)CC=nn(cccc)A=nn Bnn DP=nn X=nnnn Y=nnnn U=nnnn PC=nnnn (dddddddd) aaaa=システムスタックポインタ bbbb=システムスタックポインタが指すスタックの内容 cc=CCレジスタの下位4ビット dddddddd=PCが指すメモリの内容 |
S | メモリ内からデータを検索 | S [<$開始番地>], [<$終了番地>], <$データパターン> 又は S [<$開始番地>],[@<バイト数>], <$データパターン> 開始番地を省略すると$0、終了番地を省略すると$FDFFが指定される |
T | メモリ内容転送 | T <$開始番地>, [<$終了番地>], <$転送先番地> 又は T <$開始番地>, [@<バイト数>], <$転送先番地> |
TS | テキスト画面の退避/回復設定 | TS [<テキスト画面退避フラグ>] テキスト画面退避フラグ 0(ブレークポイントでテキスト画面回復しない) 0以外(ブレクポイントでテキスト画面が退避され、Gコマンドで回復される) |
X, XL XP |
現在のメモリ空間のマップ |
X 引数なし MAPで設定した現在のメモリ空間番号で指定した場合と同じ動作 |
BREAK CTRL+C CTRL+D BREAK+RESET |
コマンド実行中断 | 引数なし |
参考文献:日立 MB-S1 BASICマニュアル |
EASY-S1+拡張部のコマンド
メモリ拡張時 テキストエリア256KB、ラベルテーブルエリア33KB、オブジェクトエリア56KB
オブジェクトエリア=系列F、EASY-S1,ラベルテーブル,テキストウィンドウ=系列8~Dで動作 続きを読む S1用開発環境の操作をまとめておく