MESC TOOL NEWS:
MESCT-PD38-980616D
この度、740ファミリ用エミュレータデバッガPD38(旧称:PDB38) V.2.00をご使用される際の注意事項をご連絡致します。
発生現象
スクリプトウィンドウから実行するGコマンド(旧体系コマンド)において、指定したブレークアドレス位置の命令が2バイト長以上の命令であった場合、ターゲットプログラムを停止させることができません。
[例] 以下のサンプルプログラムにおいて、
>G E000,E003
と実行した場合、ブレークアドレスE003h番地の命令が2バイト長命令であるため、ブレークしません。
| アドレス | プログラム |
| - | .ORG $E000 |
| E000 | NOP |
| E001 | NOP |
| E002 | NOP |
| E003 | JMP E000 ← NG |
本現象は、新体系のGoコマンドでは発生しません。
- [補足]
- PD38 V.2.00では、PDB38 V.1.00相当のコマンド体系(旧体系)とM16C/60シリーズ用エミュレータデバッガPD30と同等のコマンド体系(新体系)の両コマンド体系をサポートしています。
- 旧体系のGコマンドは、指定した開始アドレスからターゲットプログラムを実行し、指定したブレークアドレスを指定したパスカウントの回数に到達した際にターゲットプログラムを停止する仕様です。ブレークアドレスの指定を省略した場合、開始アドレスからフリーラン実行します。
(書式) G 開始アドレス[,ブレークアドレス[:パスカウント]]
回避策
以下のいずれかの対応をお願い致します。
- PBコマンドもしくはEBコマンドにおいてブレークポイントを指定し、GBコマンドを実行する。
> PB SET E003
> GB E000
- Gコマンドのブレークアドレス指定において、ブレークアドレスから1を引いた値を指定する。
> G E000,E003-1
上記の制限事項に関しては、次期バージョンで改修する予定です。