...

T - USBid

by user

on
Category: Documents
32

views

Report

Comments

Description

Transcript

T - USBid
MICROCOMPUTER
MN10300
MN10300 シリーズ
C ソースコード・デバッガ
ユーザーズマニュアル
Pub.No.13130-023
MS-DOS、Windowsは、米国Microsoft社の登録商標です。
PC/ATは米国International Business Machines社の登録商標です。
PC-9800シリーズ、98NOTEは日本電気株式会社の登録商標です。
PanaXSeriesは、松下電器産業株式会社の商標です。
その他記載された会社名及びロゴ、製品名などは該当する各社の商標または登録商標です。
本書に記載の技術情報及び半導体のご使用にあたってのお願いと注意事項
(1)本書に記載の製品及び技術で、『外国為替及び外国貿易法』に該当するものを輸出する時、
または、国外に持ち出す時は、日本政府の許可が必要です。
(2)本書に掲載しております内容は、機能改善のため予告なく変更する場合がありますのでご
了承ください。従って、最終的な設計に際しましては、事前に最新版をお求め願い、ご確
認ください。
(3)本書に記載された内容の使用に起因する損害、または第三者の特許権その他の権利侵害に
関しては、弊社はその責任を負いません。
(4)本書の一部または全部を弊社の文書による承諾なしに、転載または複製することを堅く
お断わりいたします。
本書はじめ弊社半導体についてのお問い合せは、巻末の営業所又は、松下電子工業(株)の
営業部門へお願いいたします。
本書の読み方
本書はMN10300シリーズ用プログラムのデバッグ作業をする技術者のためのマニュアルです。第1章から第3
章ではCソースコード・デバッガの概要、構成、起動方法を説明しています。第4章では初心者の方を対象として、
具体的なデバッグ作業の手引きをしています。第5章では、Cソースコード・デバッガの起動方法のオプションを紹
介しています。第6章ではウィンドウ・コマンド、第7章、8章ではそれぞれダイアログ・コマンド、マクロ・コマ
ンドについて説明し、具体的なコマンド実行例を挙げています。また、第9章には付録としてインサーキット・エミュ
レータの仕様と注意事項、プローブ部の仕様、インターフェースボードスイッチの操作説明、エラーメッセージ、命
令コマンドのクイック・リファレンスを掲載しています。
■本書の構成
本書は大きく分けてタイトル、要約文、本文、使用するキー、注意・参考情報から作成されています。さらに、
第7章、8章では命令コマンド、コマンド・パターン、使用例を加えています。次に各部分のレイアウトと意味
を示します。
ヘッダーアイコン
中タイトル
36
36
内容の種類によって
アイコンの濃度がか
わります。
4
概要から起動
デバッグ作業のチュートリアル
デバッグ作業のチュートリアル
要約文
その節の導入部です。
チュートリアル
この項目ではサンプル・プログラム(SAMPLE.C)を使用した実際のデバッ
この項目ではサンプル・プログラム(SAMPLE.C)を使用した実際のデバッ
グ作業を通して、Cソースコード・デバッガの起動から終了までの一連の
グ作業を通して、Cソースコード・デバッガの起動から終了までの一連の
コマンド説明
付録
作業の進め方と操作方法の概要を修得します。この操作方法にウィンドウ・
作業の進め方と操作方法の概要を修得します。この操作方法にウィンドウ・
コマンド、ダイアログ・コマンドの知識があれば、Cソースコード・デバッ
コマンド、ダイアログ・コマンドの知識があれば、Cソースコード・デバッ
ガを操作することができます。
ガを操作することができます。
小タイトル
4-1 Cソースコード・デバッガの起動
4-1 Cソースコード・デバッガの起動
本文
カレント・ディレクトリに以下のファイルがあることを確認してください。
カレント・ディレクトリに以下のファイルがあることを確認してください。
もしカレント・ディレクトリにファイルがない場合はマスタディスクからコ
もしカレント・ディレクトリにファイルがない場合はマスタディスクからコ
ピーしてください。
ピーしてください。
PICE103.EXE ........ Cソースコード・デバッガ10300本体
PICE103.EXE ........ Cソースコード・デバッガ10300本体
PINS103.EXE ........ 環境設定ユーティリティ
PINS103.EXE ........ 環境設定ユーティリティ
ENV103.TXT ......... 品種別定義ファイル
ENV103.TXT ......... 品種別定義ファイル
PICE103.MAC ....... マクロ命令定義ファイル
PICE103.MAC ....... マクロ命令定義ファイル
PICE103.MES ..... メッセージファイル
PICE103.MES ..... メッセージファイル
PT103.HLP ............ Cソースコード・デバッガ10300のヘルプファイル
PT103.HLP ............ Cソースコード・デバッガ10300のヘルプファイル
MON103.EX .......... インサーキット・エミュレータ・モニタプログラム
MON103.EX .......... インサーキット・エミュレータ・モニタ用ファイル
ファイル
SAMPLE.EX .......... サンプル・プログラムの実行形式ファイル
SAMPLE.EX .......... サンプル・プログラムの実行形式ファイル
SAMPLE.C ............ サンプル・プログラム・ソース・ファイル
SAMPLE.C ............ サンプル・プログラム・ソース・ファイル
STARTUP.ASM .... サンプル・プログラムのスタートアップ・ルーチン・
STARTUP.ASM .... サンプル・プログラムのスタートアップ・ルーチン・
ソース・ファイル
ソース・ファイル
キー
押すキーを示します。
枠がないものはオプ
ション・コマンドか
ローカル・コマンド
で使うキーです。
注意情報
デバッガの起動
デバッガの起動
P
PI
IC
CE
E1
10
03
3
☞
☞
Cソースコード・デバッガを起動します。MS−DOSのコマンドとして
Cソースコード・デバッガを起動します。MS−DOSのコマンドとして
【 【 P.P.28】
28】
PICE103 -NOTARGET
PICE103 -NOTARGET
↵↵
と入力してください。するとCソースコード・デバッガ起動画面があらわれ
と入力してください。するとCソースコード・デバッガ起動画面があらわれ
ます。-NOTARGETは、ターゲットシステムを接続していない場合に指定し
ます。-NOTARGETは、ターゲットシステムを接続していない場合に指定し
てください。
てください。
ここでは説明上、メインメモリに約500Kバイトの空き領域があるこ
ここでは説明上、メインメモリに約500Kバイトの空き領域があるこ
とを前提にしています。
とを前提にしています。
デバッグ作業のチュートリアル
デバッグ作業のチュートリアル
< 本書の読み方-1>
参照マーク
関連する情報の参照
箇所を示します。
オンザフライ機能
命令コマンド
7・ダイアログ・コマンド
133
オンザフライ
機能
実行に影響しません
BPA
コマンド一覧
具体的なコマンドの
パターンを紹介して
います。
:アンド・ブレークの設定
BPA<リスト>
アンド・ブレークを設定します。
B PA
<リスト>で指定されたハードウェア・ブレーク・イベントをアンド条件にしま
<リスト>
す。すべての条件が成立してからブレークします。
<リスト>には最大8点までのブレーク・イベント番号をカンマ(,)で区切っ
て指定します。
プログラム実行中にアンド・ブレークを設定した場合は、ただちに有効となり
ます。アンド・ブレークの解除は、アンド・ブレークに設定されているブレー
ク・イベントの一つにBDあるいはBC/ECコマンドを実行してください。
注釈
使用例
下線部の説明をし
ています。
ブレーク・イベント
No.2, 3がアンド・
ブレークになります。
>bp
No.
Sadr
-
Eadr
st. Data/Symbol
E
E
1
2
80000039
00000100
SF
RW
_0main
@0xxxx100
E
E
3
4
00000800
80000058
RW
EX
_i
_0cnt60
Sz Cnt Command
-
1
1
1
1
>bpa 2,3
>bp
E
No.
1
Sadr
80000039
Eadr
st. Data/Symbol
SF _0main
E
E
2 (& ) 00000100
3 (& ) 00000800
RW
RW
@0xxxx100
_i
E
>
4
EX
_0cnt60
80000058
Sz Cnt Command
1
-
1
1
1
参考情報
参考
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは0xを
付けると16進数とみなします。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
オンザフライ機能が使
用できるコマンドには オンザフライ がついています。
機能
コマンド
・インデックス
各コマンドのインデッ
クスです。
コマンドの定義
フッタ
各コマンドを種類ご
とに示します。
イベント関連コマンド
■検索の方法
必要な情報を素早く探すために、本書には4つの検索方法があります。
(1) 各章の冒頭を検索する場合は、巻頭のインデックスをご覧ください。
(2) 各タイトルを検索する場合は、巻頭の目次をご覧ください。
(3) 各ページにはその章名が右ページの上端に、中タイトルがページの下端にレイアウトさ
れています。ページをめくりながら、記載内容の概略が把握できます。
(4) コマンドを検索する場合は、巻末の索引をご覧ください。また、右ページに各コマンド
のインデックスがついていますので、ページをめくりながら知りたいコマンドを探すこ
ともできます。
< 本書の読み方-2>
■関連のマニュアル
当社では当該製品に対して本書の他に次のマニュアルを用意しています。
●「MN103S00シリーズ命令説明書」
〈命令説明〉
●「MN10300シリーズ クロスアセンブラ ユーザーズマニュアル」
〈クロスアセンブラ、記法説明〉
●「MN10300シリーズ Cコンパイラユーザーズマニュアル 操作編」
〈Cコンパイラのインストール、起動、オプションの説明〉
●「MN10300シリーズ Cコンパイラユーザーズマニュアル 言語編」
〈C言語の文法説明〉
●「MN10300シリーズ Cコンパイラユーザーズマニュアル ライブラリ編」
〈Cコンパイラの標準ライブラリの説明〉
●「MN10300シリーズ Cソースコード・デバッガ for WindowsR ユーザーズマニュアル」
〈Cソースコード・デバッガ for WindowsR 使用方法説明〉
●「MN10300シリーズ インストールマニュアル」
〈Cコンパイラ、クロスアセンブラ、Cソースコード・デバッガのイン
ストール、インサーキット・エミュレータの起動〉
■ご連絡先
本書の内容に関するご意見、ご質問は最寄の半導体デザインセンターへお問い合せください(巻末の営業所所在
地一覧表参照)。
< 本書の読み方-3>
目 次
第1章
Cソースコード・デバッガの概要
第2章
Cソースコード・デバッガの構成
第3章
接続と起動
Cソースコード・デバッガの
第4章
第5章
特徴的な機能と使用方法
Cソースコード・デバッガの
起動方法/起動オプション
第6章
ウィンドウ・コマンド
第7章
ダイアログ・コマンド
第8章
マクロ・コマンド
第9章
付 録
索 引
0
1
2
3
4
5
6
7
8
9
10
目 次
第1章
第2章
Cソースコード・デバッガの概要
1
Cソースコード・デバッガの概要 .................................................................. 2
2
使用上の注意 ................................................................................................... 13
2-1
ハードウェアの注意事項 ................................................................. 13
2-2
ソフトウェアの注意事項 ................................................................. 14
2-3
ROM,RAM ................................................................................ 14
2-4
プログラム実行 ................................................................................. 14
2-5
ブレーク ............................................................................................ 15
2-6
トレース ........................................................................................... 15
2-7
オンザフライ ................................................................................... 16
2-8
その他 ................................................................................................ 16
Cソースコード・デバッガの構成
1 機器一覧 .......................................................................................................... 18
2
第3章
各機器の説明 .................................................................................................. 19
2-1
インサーキット・エミュレータ ..................................................... 19
2-2
Cソースコード・デバッガ10300フロッピーディスク ........ 20
接続と起動
1
2
インタフェース・ボードの取付け ................................................................ 22
1-1
PC−9800シリーズの場合 ..................................................... 22
1-2
98NOTEシリーズの場合 ......................................................... 23
1-3
PC/AT(DOS/V)シリーズの場合 .................................. 23
接続の手順 ...................................................................................................... 24
2-1
3
4
< 目次- 2 >
接続の手順 ....................................................................................... 24
ホストコンピュータの設定 ............................................................................ 25
3-1
インストーラの起動 ........................................................................ 26
3-2
デバッガのテスト起動 .................................................................... 28
電源のON/OFF ....................................................................................... 29
第4章
Cソースコード・デバッガの特徴的な機能と使用方法
1
ウィンドウ表示の概要 ................................................................................... 32
2
デバッグ作業の流れ ....................................................................................... 33
3
実行形式ファイルの作成 ............................................................................... 34
4
デバッグ作業のチュートリアル .................................................................... 36
4-1
Cソースコード・デバッガの起動 ................................................. 36
4-2
ヘルプ ............................................................................................... 38
4-3
実行形式ファイルのロード ............................................................. 40
4-4
画面制御/ファイル操作 ................................................................. 42
4-5
プログラム実行/ブレーク ............................................................. 44
4-6
メモリ参照 ....................................................................................... 47
4-7
サブ・プロセス ................................................................................ 49
4-8
マクロ・コマンド ............................................................................ 51
4-9
Cソースコード・デバッガの終了 ................................................. 52
4-10 プログラム完成(Cソースコード・デバッガ操作の概要修得) ...... 53
第5章
Cソースコード・デバッガの起動方法/起動オプション
1
第6章
Cソースコード・デバッガの起動方法/起動オプション ........................... 56
ウィンドウ・コマンド
1
ウィンドウの表示 ........................................................................................... 62
2
ウィンドウ・コマンド ................................................................................... 66
2-1
画面コントロール ............................................................................ 66
2-2
実行/ブレーク ................................................................................ 70
2-3
文字列の取込み/選択 .................................................................... 72
2-4
ファイル表示 .................................................................................... 74
2-5
プロセス制御/RAMモニタ ......................................................... 77
2-6
シェル機能 ........................................................................................ 78
2-7
メモ .................................................................................................. 82
2-8
その他のウィンドウ・コマンド ..................................................... 83
< 目次- 3 >
3
データ参照機能 .............................................................................................. 84
3-1
インスペクト機能 ............................................................................ 84
3-2
構造体と共用体のインスペクト ..................................................... 88
3-3
インスペクト・ウィンドウ内のローカルコマンド ....................... 89
3-4
ウォッチ機能 ................................................................................... 92
3-5
ビュー機能 ....................................................................................... 93
第7章 ダイアログ・コマンド
1 ダイアログ・コマンドの使用規則 ................................................................ 96
1-1
コマンド解説の規約 ........................................................................ 96
1-2
コマンドの入力書式 ........................................................................ 96
1-3
Cソースコード・デバッガで扱えるシンボル ............................... 97
1-4
Cソースコード・デバッガで扱える数値 .................................... 100
1-5
演算式 ............................................................................................ 104
1-6
C言語レベルでのデータ表現 ........................................................ 106
コマンド一覧
2
プログラム・ロード/実行 .......................................................................... 112
L/LPコマンド(プログラム・ロード) ................................ 114
RDコマンド(ファイル/プログラム・リード) ..................... 115
WRコマンド(ファイル/プログラム・ライト) ..................... 116
Tコマンド(シングルステップ実行) ........................................ 117
Pコマンド(関数ステップ実行) ............................................... 119
Gコマンド(実行) ...................................................................... 121
RESETコマンド(マイコンのリセット) ............................. 123
3
イベント関連コマンド ................................................................................. 124
EVコマンド(イベントの設定/表示) .................................... 127
BPコマンド(ブレーク設定/表示) ........................................ 130
BPAコマンド(アンド・ブレークの設定) ............................. 133
BPSコマンド(シーケンシャル・ブレークの設定) .............. 134
BC / ECコマンド(ブレーク・イベント解除) ...................... 136
BDコマンド(ブレーク・イベント一時無効化) ..................... 137
BEコマンド(ブレーク・イベント有効化) ............................. 139
< 目次- 4 >
4
その他のハードウェア関連コマンド .......................................................... 141
TMコマンド(トレースモードの設定/表示) ......................... 142
TGコマンド(トレース開始) ................................................... 146
TSコマンド(トレース停止) ................................................... 147
TD/TDUコマンド(トレース表示) .................................... 148
TDWコマンド(トレース・ウィンドウ表示) ......................... 151
TIコマンド(実行時間の測定/表示) .................................... 153
TRIGコマンド(トリガの設定/表示) ................................ 156
MAP / EXコマンド(メモリ割付け) ..................................... 158
5
パフォーマンス測定 ................................................................................... 160
SMコマンド(サンプル領域の設定/解除) ............................. 161
PROFコマンド(アクセス状態の集計) ................................ 164
6
データ表示/変更 ......................................................................................... 166
Dコマンド(メモリ表示) ........................................................... 167
Eコマンド(メモリ変更) ........................................................... 169
Cコマンド(メモリ比較) ........................................................... 171
Fコマンド(メモリフィル) ....................................................... 172
Mコマンド(メモリ転送) ........................................................... 174
Sコマンド(メモリ検索) ........................................................... 175
Rコマンド(レジスタ表示/変更) ............................................ 177
Hコマンド(式の表示) ............................................................... 179
PRINTF/PFコマンド(フォーマット表示) ................. 180
Xコマンド(シンボル表示) ....................................................... 182
.
7
コマンド(シンボル登録/変更/削除) ............................... 184
コード表示/変更 ......................................................................................... 186
Vコマンド(ソース表示) ........................................................... 187
Uコマンド(逆アセンブル表示) ............................................... 188
Aコマンド(アセンブル) ........................................................... 190
Kコマンド(バックトレース) ................................................... 191
8
ウォッチ表示 ................................................................................................ 192
INSコマンド(インスペクト) ............................................... 193
Wコマンド(ウォッチ登録) ........................................................ 195
VAL/?コマンド(Cの式評価) ............................................ 197
Yコマンド(ウォッチ削除) ........................................................ 199
< 目次- 5 >
9
システム制御コマンド ................................................................................. 200
Q/EXITコマンド(デバッガの終了) ................................ 201
HELPコマンド(ヘルプ画面表示) ........................................ 202
!コマンド(サブ・プロセスの実行) ........................................ 203
!!/!コマンド(ヒストリ機能) ............................................ 205
10その他のコマンド ......................................................................................... 206
CLSコマンド(画面クリア) ................................................... 208
HOMEコマンド(カーソル・ホーム) .................................... 208
LISTコマンド(表示出力指定) ............................................ 209
NLISTコマンド(表示出力抑制指定) ................................ 209
BELコマンド(ベル) ............................................................... 210
TIMEコマンド(時刻表示) ................................................... 210
WAITコマンド(一時停止) ................................................... 211
PRMPT(プロンプト変更) ................................................... 211
*コマンド(コメント) ............................................................... 212
>コマンド(ログ出力) ............................................................... 213
<コマンド(バッチ) .................................................................. 214
MEMコマンド(メモ) ............................................................... 215
Nコマンド(基数変更) ............................................................... 216
OPTIONコマンド(オプション設定) ................................ 217
第8章 マクロ・コマンド
1
マクロ・コマンドの概要 ............................................................................. 220
1-1
マクロ機能 ..................................................................................... 220
コマンド一覧
2
マクロ・コマンド ......................................................................................... 222
{<><>} ................................................................................. 223
[ ] ............................................................................................. 225
DO{ }WHILE(マクロ制御実行) ................................ 227
FOR{ }(マクロ制御実行) ............................................... 228
WHILE{ }(マクロ制御実行) ........................................ 229
REPEAT{ }(マクロ制御実行) .................................... 230
< 目次- 6 >
BREAK(マクロ抜け出し) ................................................... 231
LALL(マクロ表示出力指定) ............................................... 232
SALL(マクロ表示抑制指定) ............................................... 233
MLIST(マクロ表示) ........................................................... 234
KILL(マクロの削除) ........................................................... 235
IF{ }(条件制御) ............................................................... 236
KEYIN(キー入力指定) ....................................................... 237
第9章 付 録
1
2
3
インサーキット・エミュレータの仕様 ....................................................... 240
1-1
機能的仕様 ..................................................................................... 240
1-2
電気的仕様 ..................................................................................... 241
1-3
環境仕様 ......................................................................................... 241
1-4
外形寸法 ......................................................................................... 241
1-5
ターゲット・インタフェース ....................................................... 242
インタフェース・ボードスイッチの設定 ................................................... 243
2-1
ホストコンピュータがPC−9800シリーズの場合 ..................... 243
2-2
ホストコンピュータが98NOTEシリーズの場合 ......................... 245
2-3
ホストコンピュータがPC/AT(DOS/V)シリーズの場合 ... 247
プローブ部についての特記事項 .................................................................. 248
3-1
電気的仕様 ..................................................................................... 248
3-2
環境仕様 ......................................................................................... 248
4
Cソースコード・デバッガのエラーメッセージ ........................................ 249
5
クイック・リファレンス ............................................................................. 263
6
5-1
ウィンドウ・コマンド .................................................................. 263
5-2
ダイアログ・コマンド .................................................................. 267
PC/AT(DOS/V)バージョン補足 ........................................... 276
6-1
画面オペレーション ..................................................................... 276
6-2
データ変換/参照コマンド ......................................................... 277
6-3
プロセス制御コマンド ................................................................. 277
6-4
シェル・コマンド ......................................................................... 278
6-5
その他のウィンドウ・コマンド ................................................. 278
< 目次- 7 >
記号 ............................................................................................................... 280
アルファベット順 ......................................................................................... 280
五十音順 ........................................................................................................ 282
< 目次- 8 >
第
1章
Cソースコード・デバッガの概要
1.Cソースコード・デバッガの概要
2.使用上の注意
2
1
Cソースコード・デバッガの概要
Cソースコード・デバッガの動作環境
ホストコンピュータ
PC-9800シリーズ
PC/ATシリーズ
(DOS/V互換機)
メモリ
500Kバイト以上
500Kバイト以上
MS-DOS Ver3.x以上
MS-DOS Ver.6.2,Ver.J6.2/V
パソコン本体標準拡張
パソコン本体標準拡張
スロット1スロット
スロット1スロット
I/O方式
I/O方式
OS
スロット
インタフェース方式
Cソースコード・デバッガの概要
1・Cソースコード・デバッガの概要
3
概要
Cソースコード・デバッガとインサーキット・エミュレータは、当社製の32
ビット・マイクロコンピュータMN10300シリーズに対応する統合開発ツー
ルです。インサーキット・エミュレータは本体とエミュレータ・コントローラ
により構成され、エミュレータのコントロール回路をワンチップ化し実装する
ことにより、大幅な小型 ・軽量化、省電力化を図っています。
またコントロール・ソフト(デバッガ)は、C言語やアセンブリ言語で開発さ
れたプログラムをソース・レベルで効率的にデバッグすることができます。
さらにマルチ・ウィンドウ・ディスプレイ、マクロ機能、マルチジョブ機能、
多彩なブレーク機能、メモリエミュレーション機能、トレース機能、EMSメ
モリ対応など高機能・高操作性を両立させています。
ソフトウェアの概要
マルチ・ウィンドウ
5つのウィンドウ(コード/レジスタ/ウォッチ/コマンド/オプション)を
常時表示することができ、ポップアップメニューやウィンドウ・コマンド、ダ
イアログ・コマンドなどの多種、多様なオペレーション機能によって、優れた
操作性を実現しています。
Cソースコード・デバッガの概要
4
ソースレベル・デバッグ
C言語やアセンブリ言語で開発されたプログラムをソースレベルでのデバッ
グ(ソース行番号によるブレーク指定、ソースリスト上で指定した変数の
値を参照/変更、ソースレベルのステップ実行など)が可能です。
マクロ機能
C言語ライクな制御構造(if,for,while,do,breakなど)を持った強力なマクロ
機能(言語)を備えています。マクロ機能を使うことによって、複数のコ
マンドを組み合わせて新しいコマンドを定義することや、ブレーク機能と
組み合わせて、効率的なデバッグ作業を行うことができます。
マルチジョブ機能
Cソースコード・デバッガでのデバッグ作業中にワンキー操作で随時MS
−DOSコマンドを起動させ、往復することができます。
イベント機能
ハードウェア・ブレークやトレース、時間測定機能などの起動要因を設定
する機能です。インサーキット・エミュレータはユーザ・プログラムの実
行を停止させることなくイベント発生を監視し続けます。
イベントには次の2種類があります。
(1)実行アドレス・イベント
命令が実行されたアドレスに対してイベントを発生させます。アド
レス範囲指定、通過回数を条件設定できます。
(2)データ・イベント
データ・アクセスに対してイベントを発生させます。アドレス範囲
指定、データ指定、アクセス幅、一致/不一致、回数を条件設定で
きます。
ブレーク機能の条件となるイベントをブレーク・イベント、トレースの開
始/停止の条件となるイベントをトレース・イベント、時間測定の開始/
停止の条件となるイベントを時間測定イベントと呼びます。
Cソースコード・デバッガの概要
1・Cソースコード・デバッガの概要
5
ブレーク機能
ユーザ・プログラムの実行を停止させる機能です。
(1)ソフトウェア・ブレーク
デバッガがユーザ・プログラムにPIコード(0xff)を埋め込むこ
とによって実現します。従って書き込み可能なプログラム・エリア
にのみ設定することができ、データ・エリアやターゲットROM空
間には設定できません。また、ソフトウェア・ブレークは設定した
アドレスの命令を実行する前に停止するため、アドレス範囲指定や
通過回数などは条件として設定できません。
(2)ハードウェア・ブレーク
イベントが成立したときにブレークします。イベントの成立から数
命令実行した後でブレークします。
(3)アンド・ブレーク
指定したイベントが順不同ですべて成立したときにブレークします。
(4)シーケンシャル・ブレーク
指定したイベントが指定の順序で成立したときにブレークします。
(5)トレース・フル・ブレーク
トレース・メモリがデータで満たされたときにブレークします。
(6)強制ブレーク
ホスト・コンピュータのESCキーを押すことでユーザ・プログラ ムの実行を強制的に停止する機能です。
Cソースコード・デバッガの概要
6
メモリエミュレーション機能
マイコン内蔵命令メモリ(ROM/RAM)空間やターゲットメモリ(拡
張RAM)空間をインサーキット・エミュレータ上に実装されているメモ
リ(エミュレーションメモリと呼びます)で代替する機能です。エミュレー
ションメモリには次の2種類があります。
(1)エミュレーションROM
,
内蔵ROM(内蔵命令RAMも含みます)を代替する読み書き可能な
メモリ(RAM)です。このインサーキット・エミュレータにはエミュ
レーションROMとして0x40000000∼0x4003FFFF(アドレス固定)
の256Kバイト実装されています。なお、エミュレーションROMは
マイコンのメモリモードがシングルチップモードや拡張モードのよう
に内蔵ROM(内蔵命令RAM)が使用できるモードでのみ有効で、
プロセッサモードでは使用できません。
マイコンのメモリ空間
(拡張モード時)
インサーキット・エミュレータの
エミュレーションメモリ
0x00000000
}
}
内蔵RAM
内蔵ROM
}
拡張RAM
0x20000000
0x40000000
内蔵RAM空間と
特殊レジスタは
マイコン内部空間を使用
エミュレーションROM(読み書き可能)
0x40000000
256Kバイト アドレスは固定
エミュレーションRAM
0x80000000
0xC0000000
アクセス禁止
Cソースコード・デバッガの概要
}
合計1Mバイト以下
1・Cソースコード・デバッガの概要
7
(2)エミュレーションRAM
ターゲット上のメモリ(拡張RAM)を代替するメモリ(R
AM)です。このインサーキット・エミュレータには512Kバ
イトのエミュレーションRAMを2セット(合計1Mバイト)
実装されています。1セットは高速専用メモリを使用してお
り、外部バスサイクル20MHz(50nsec)までノーウェイトで
動作可能です。残りの1セットは外部バスサイクル12MHz
(約83nsec)までノーウェイトで動作可能です。
エミュレーションRAMは、マイコンの拡張RAM空間(拡張
モード時0x80000000∼0xBFFFFFFF、プロセッサモード時
0x40000000∼0xBFFFFFFF)のアドレス範囲(ブロック)を割
り付けることができます。図Aで拡張RAM空間の斜線部分の
アドレスをアクセスした場合は、エミュレータ上のエミュ
レーションRAMがアクセスされます。このようにエミュレー
ションメモリをマイコンのメモリ空間の一部に割り付けるこ
とをマッピングといいます。マッピングする場合に連続した
メモリの固まりをブロックと呼びます。このエミュレータで
は最大8つのブロックを割り付けることが可能です。
1つのブロックの大きさは4K,8K,16K,32K,64K,128K,256K,51
2K,1024Kバイトのいずれかから選択可能です。またブロック
のアドレス境界は1つのブロックサイズと同じ単位になりま
す。すなわち1ブロックが64Kバイトの時は、ブロックを置
く境界も64Kバイトにする必要があります。
注意しなければならない点は、ブロックサイズと境界が一致
しない場合です。例えば図Bに示すように連続した64Kバイト
の空間を0x80002000(8Kバイト境界)からマッピングする場
合を考えてみます。ブロックの境界とブロックサイズは一致
させなければならないので、0x80002000番地からは8Kバイト
のブロックをマッピングする必要があります。つぎの
0x80004000(16Kバイト境界)からは16Kバイトのブロック
をマッピングする必要があります。同様に考えると、64Kバ
イトのブロックの割り付けを行うために4つのブロックが消費
されます。このようにメモリを割り付けるアドレスと容量に
よっては、連続した空間でも2つ以上のブロックを必要とする
場合があります。
Cソースコード・デバッガの概要
8
ターゲット上の
メモリ
,,,
拡張RAM空間
エミュレータの
エミュレーションRAM
ブロック1
ブロック2
ブロック3
ブロック4
ブロック5
1Gバイトの空間の一部を
エミュレーションRAMに
割り付ける
(合計1Mバイトまで)
エミュレーションRAMに
割り付けられていない空
間は、ターゲット上のメ
モリがアクセスされる
0x80002000
0x80004000
16K
ブロック0
0x80000000
ブロック1
0x80008000
0x80010000
32K
ブロック2
8K
ブロック3
128K
}
}
合計64K
(論理ブロック)
8K
図A
物理ブロック
図B
0x8001FFFF
図C
マッピングブロックが不足するような場合は、上記の例で
すと0x80000000∼0x8001FFFF(128Kバイト)とすれば1
ブロックでマッピングでき、マッピングブロック不足を解
消できます(図C)。なお、このインサーキット・エミュ
レータでは内蔵RAMと特殊レジスタはマイコン内部の資
源が使われ、エミュレーションRAMをマッピングするこ
☞
とはできません。【 MAP/EXコマンド】
Cソースコード・デバッガの概要
ブロック0
1・Cソースコード・デバッガの概要
9
トレース機能
ユーザ・プログラムの実行経過を見ることができる機能です。トレース
するデータは実行アドレスとデータアドレス、データ値、バス・ステー
タスです。データアドレ ス、データ値は、マイコンの内部バス(CPU
コア・バス)と外部バスとを切り替えることができます。トレース格納
条件、トレース停止条件として、以下のモードを選択できます。
・トレース格納条件
(1)ノーマルトレース(デフォルト)
マイコンの実行の全サイクルをトレースします。16Kステップ
までトレースできます。
(2)分岐トレース
分岐命令のみをトレースメモリに格納し、分岐命令と分岐命令の間は
ソフトウェアで補正することで、見かけ上、通常のトレースより長い
時間のトレースを可能にするモードです。ただし、トレース開始後、
最初の分岐命令が出現するまではトレース表示ができません。
(3)条件付きトレース
条件付きトレースは、指定したイベントが成立している間のみ、トレー
スを行ないます。
16 Kステップ
ユーザプログラムの流 れ
イベント成立
・トレース停止条件
(1)トレース・コンティニュー・モード(デフォルト)
トレースメモリがフルになった場合にも、ユーザ・プログラムが停止
するまでトレースを継続し、ユーザ・プログラムが停止する前の16
Kステップをトレース・データとして残します。
16 Kステップ
ユーザ
プログラム
の流 れ
実行開始
ユーザプログラム停止
Cソースコード・デバッガの概要
10
(2)トレースフル・ストップ・モード
ユーザ・プログラムが実行を開始(または再開)してから、トレース
メモリがフルになるまで(16Kステップ)、トレースを行ないます。
トレースは停止しても、ユーザ・プログラムは停止しません。
16 Kステップ
ユーザ
プログラム
の流 れ
トレース停止
実行開始
(3)ディレイド・トリガ・トレース
指定されたイベントが発生してから、指定されたステップだけトレー
スした後、トレースを停止します。イベント発生前後のプログラムの
実行状態を監視することができます。
16 Kステップ
ディレイカウント
ユーザプログラム
の流 れ
イベント発生
トレース停止
時間測定機能
ユーザ・プログラムの実行時間を測定する機能です。以下のモードがありま
す。
(1)連続測定モード
ユーザ・プログラムの実行開始(または再開)から停止までの時間を
測定します。
(2)パーシャル測定モード
イベント発生から別のイベント発生までの時間を測定する機能です。
パーシャル測定モードには、さらに次の2つのモードがあります。
FIRSTモード
イベント間を最初の1回だけ測定します。
MIN/MAXモード
イベント間を継続的に測定し、その中の最
小値と最大値を求めます。
Cソースコード・デバッガの概要
1・Cソースコード・デバッガの概要
11
プロファイル機能
ユーザ・プログラム実行中にどの関数(サブルーチン)がどれだけの時間
を消費したかを測定する機能です。
RAMモニタ機能
ユーザ・プログラムの実行を停止させずにインサーキット・エミュレータ
がデータRAMへのアクセスを監視し、データRAMの内容を画面上に表示
する機能です。
オンザフライ機能
ユーザ・プログラムの実行を停止させずにブレーク・イベントの設
定、トレースの設定/表示、メモリの参照/変更などを行うことが
できる機能です。これによりターゲットCPUの動作を停止させる
ことなくデバッグすることが可能になります。 【 2-7 オンザフライ】
☞
インスペクト機能
コード・ウィンドウに表示されるソースファイルの変数、配列、ビット値
をカーソルで指定するだけでその変数のデータ構造に従った形式で参照/
変更することができます。
Cソースコード・デバッガの概要
12
EMSメモリサポート
Cソースコード・デバッガはデバッガ本体やデバッグ情報領域などのワー
ク領域をEMSメモリ上に確保します。これにより、膨大なデバッグ情
報を持ったプログラムでもデバッグすることが可能になります。
オーバラップ機能
デバッグ・プログラムの実行時に必要な最小限の機能のみをメイン
メモリに常駐させ、Cソースコード・デバッガ本体とワーク領域を
DOSのファイルまたはEMSメモリに退避させる機能です。この
オーバラップ機能を利用することによって大規模プログラムのデ
バッグが可能となります。この機能を使う場合は、−F/−FEM
Sオプションを指定してCソースコード・デバッガを起動してくだ
さい。
リアル・モード
オーバラップ・モード
退避領域
ファイル
640K
デバッグ領域
約100K
−F
Cソースコード・
デバッガ本体
約500K
EMSメモリ
デバッグ
情報領域
デバッグ領域
−B
ワーク領域
常駐領域
−FEMS
EMSメモリ
その他の機能
ヒストリ機能、テンプレート機能、ロギング/バッチ機能、ヘルプ機能
Cソースコード・デバッガの概要
1・Cソースコード・デバッガの概要
2
13
使用上の注意
2-1 ハードウェアの注意事項
インサーキット・エミュレータを使用してデバッグを行うときの注意事項を以
下に示します。
・プローブ部のピン先は非常に精巧に作られています。衝撃を加えない
よう取り扱いにご注意ください。
・インサーキット・エミュレータの内部基板やインタフェース・ボード
などの基板面には接触しないでください。
・ターゲット上の発振(OSC,X I )を使用するときには他励発振の
みサポートできます。
次の場合、インサーキット・エミュレータは正常に動作しません。
・ ターゲットからクロックを供給する場合に、そのクロック波形のレベル
が十分でない場合、あるいはそのクロックにノイズがのっている場合。
・ターゲットの電源がOFFの場合。
・ターゲット電源の電流容量が不足する場合。
・ターゲットからのバスリクエスト信号が、一定時間(0.1秒程度)
以上アクティブになる場合。
・ターゲットのハードウェアが正常に動作していない場合。
使用上の注意
14
2-2 ソフトウェアの注意事項
・ ご使用前に、Cソースコード・デバッガ・フロッピーディスクのバッ
クアップ(コピー)を行ってください。フロッピーディスクのコピー
は、本ソフトウェアの保守、保存のためにのみ許されています。
コピーは、MS−DOSのDISKCOPYコマンドやCOPYコマ
ンドで行えます。
2-3 ROM,RAM
・4Gバイトのアドレス空間のうち、エミュレーションメモリに割り当てること
のできる空間は8ブロックだけです。8ブロックのメモリの合計がインサーキッ
ト・エミュレータに実装されているメモリ(標準1Mバイト)を越えてはいけ
ません。各ブロックの始まりと終わりは4Kバイト単位で設定できます。
・特殊レジスタ領域に対するデータ・アクセスは、アクセス・データ・サイズおよ
びアドレス境界が正しくない場合には動作が保証されません。
2-4 プログラム実行
・マイコンがSTOP/HALT/SLEEPモードでのプログラム実行(シ
ングルステップおよび関数ステップ実行も含みます)はできません。
【 Gコマンド,Tコマンド,Pコマンド】
☞
・スタックポインタ(SPレジスタ)値は必ず4の倍数になるように設定して
ください。
・シングルステップおよび関数ステップ実行中にインサーキット・エミュレー
タの実行時間測定(TIコマンド)を行った場合、正しい値は表示されませ
ん。 使用上の注意
1・Cソースコード・デバッガの概要
15
2-5 ブレーク
・ソフトウェア・ブレークをオペコード部以外に設定するとオペランドの値が
PIコード(0xff)に書き変わります。
・ソフトウェア・ブレークはブレークを設定した命令を実行する前に停止する
ため、通過回数を指定することはできません。 ・ハードウェア・ブレークは、ブレーク・イベントを設定した命令を実行した
後、最大9命令実行後停止します。停止までに実行する命令数はそのときの
命令の組み合わせによって変わります。
2-6 トレース
・シングルステップおよび関数ステップ実行を行うとトレースメモリの内容は
消去されます。
・トレースされたステップが16Kステップ未満の場合、トレーススタート時の
最初の命令がトレースされない場合があります。
・トレースフル・ブレークを使用した場合、ユーザ・プログラム停止直前の数
命令はトレースされない場合があります。
・マイコンがSTOP/HALT/SLEEPモード、もしくはユーザターゲッ
トからのリセット中にはトレースの逆アセンブル表示はできません。
・トレース取得中および取得後に、マイコン内蔵命令RAMの内容が書き換え
られた場合、マイコン内蔵命令RAM空間のトレースの逆アセンブル表示は正
しく表示されません。
・ディレイドトリガトレースを使用中にイベントの設定を変更するとトレース
機能が誤動作します。
使用上の注意
16
2-7 オンザフライ
・ユーザ・プログラム実行中にメモリ内容の参照や変更(逆アセンブラ表示を
含む)を行うと、プログラム実行が一瞬停止されます。(1バイトのアクセ
スで、エミュレーションメモリでは最大14マシンサイクル、マイコン内部
の特殊レジスタ、内蔵データRAM、内蔵命令RAM、ターゲット上の外部メ
モリに対するアクセスでは最大150マシンサイクル停止します。)
・ユーザ・プログラム実行中、マイコンがSTOP/HALT/SLEEPモー
ド、もしくはユーザターゲットからのリセット中には、マイコン内部の特殊
レジスタ、内蔵データRAM、内蔵命令RAM、ターゲット上の外部メモリの
参照や変更およびトレースの逆アセンブル表示はできません。
・ユーザ・プログラム実行中にイベントの設定を変更すると、それまでに発生
していたイベント成立フラグはクリアされます。
・ユーザ・プログラム実行中にブレークを設定すると、ブレークする要因の発
生とブレークするまでの間に時間的な差が生じることがあります。
・本マニュアルではオンザフライ機能を、記号により以下の3段階で表示して
います。
実行に影響しません
:機能に制限はありません。
実行に影響を与えません。
実行に影響します
:機能に制限はありません。
実行に影響を与えます。
使用できません
:オンザフライ機能は使用できません。
2-8 その 他
・実行時間測定で測定時間が長くなった場合、若干の誤差が出ます。
・ハンドシェークモードを使用する場合、マイコンが外部メモリ空間をアクセ
スしたとき、インサーキット・エミュレータはアクノリッジ信号を発生しま
せん。従って、使用する外部メモリ空間のすべてにお客様でアクノリッジ信
号を発生させる回路(機構)を設けることが必要です。
使用上の注意
2
第 章
Cソースコード・デバッガの構成
1.機器一覧
2.各機器の説明
18
1
機器一覧
開発環境は以下のもので構成されています。ご使用前に必ずご確認ください。
万一欠品あるいは輸送上の破損があった場合には当社営業所までご連絡くださ
い。
インサーキット・エミュレータ
DIL変換基板
フラット-DIL変換基板
ダミーアダプタ
エミュレータコントローラ
QFPアダプタ
表面実装ソケット
ソケットカバー
インターフェース・ボード
34芯フラット・ケーブル
オプションプローブ
マニュアル
(Cソースコードデバッガ、インストー
ル)
Cソースコード10300フロッピーディ
スク
機器一覧
マイクロドライバ
2・Cソースコード・デバッガの構成
2
19
各機器の説明
2-1 インサーキット・エミュレータ
■LED表示
インサーキット・エミュレータ本体には3つのLEDがついており、それ
ぞれ以下のように機能します。
赤(MEMV) :インサーキット・エミュレータ本体に電源が供給さ
れている場合に点灯します。なお、インサーキッ
ト・エミュレータ本体の電源はエミュレータコント
ローラから供給されます。
黄(TVDD) :ターゲット(マイコン)の電源が供給されている場
合に点灯します。
緑(RUN)
:ユーザプログラムが実行中に点灯します。
インサーキット・エミュレータ本体の底面図
RUN TGT ICE
PWR PWR
TRIGOUT
インサーキット・エミュレータ本体の側面図1
CONTROLLER
インサーキット・エミュレータ本体の側面図2
各機器の説明
20
■オプションプローブ用コネクタ(TRIGOUT)
外部トリガ出力用のコネクタです。
2-2 Cソースコード・デバッガ10300フロッピーディスク
ご使用前に、Cソースコード・デバッガのフロッピーディスクのバックアップ
(コピー)を行ってください。フロッピーディスクのコピーは、本ソフトウェ
アの保守、保存のためにのみ許されています。
コピーは、MS−DOSのDISKCOPYコマンドやCOPYコマンドで行
えます。
フロッピーディスクに格納されているファイル (1)PICE103.EXE ............................ Cソースコード・デバッガ10300本体
(2)PINS103.EXE ............................ 環境設定ユーティリティ(インストーラ)
(3)ENV103.TXT ............................. 品種別定義ファイル
(4)PICE103.MAC ........................... マクロ命令定義ファイル
(5)PICE103.MES ............................ メッセージファイル
(6)PT103.HLP................................. Cソースコード・デバッガ10300の
ヘルプファイル
(7)MON103.EX .............................. インサーキット・エミュレータ・モニタ
プログラムファイル
(8)SAMPLE.EX .............................. サンプル・プログラムの実行形式ファイル
(9)SAMPLE.C ............................... サンプル・プログラムのソース・ファイル
(10)STARTUP.ASM ........................ サンプル・プログラムのスタートアップ・
ルーチン・ソース・ファイル
各機器の説明
3
第 章
接続と起動
1.インタフェース・ボードの取付け
2.接続の手順
3.ホストコンピュータの設定
4.電源のON/OFF
22
1
インタフェース・ボードの取付け
インタフェース・ボードを以下のようにホストコンピュータに取付けます。
取付け前にはあらかじめインタフェース・ボードのスイッチ設定を行ってくだ
さい。【
☞ 第9章-2 インタフェースボード・スイッチの設定】
1-1 PC−9800シリーズの場合
(1)作業を行う前にコンピュータ本体の電源をOFFにしてください。
(2)本体後部の拡張スロットのフタをはずします。
(3)34芯フラット・ケーブルをインタフェース・ボード上面のコネクタ(C
N2)に接続します。
(4)ボードの部品面を上にしてカード・ガイドの溝にボードを合わせてカチッ
とショックがあるまで強く押し込んでください。その後、ボードを軽く
引っ張り、ボードが抜けないことを確認してください。
インタフェース・ボードの取付け
3・接続と起動
23
1-2 98NOTEシリーズの場合
(1)作業を行う前にコンピュータ本体の電源をOFFにしてください。
(2)インタフェース・ボードについている2つのネジをしめ、ボードを軽く
引っ張り、ボードが抜けないことを確認してください。
(3)34芯フラット・ケーブルをインタフェース・ボードのコネクタに接続
します。
1-3 PC/AT(DOS/V)シリーズの場合
(1)作業を行う前にコンピュータ本体の電源をOFFにしてください。
(2)本体上部のカバーをはずします。
(3)ボードのコネクタ部を下にして、本体のコネクタ部に合わせてコネクタ
が装着されるまで押し込んでください。その後、ボードを軽く引っ張り、
ボードが抜けないことを確認してください。
(4)34芯フラット・ケーブルをインタフェース・ボードのコネクタに接続
します。
インタフェース・ボードの取付け
24
2
接続の手順
ホストコンピュータとエミュレータ・コントローラとは34芯フラット・ケー
ブルによって接続されます。インサーキット・エミュレータ本体の一方の端子
はエミュレータ・コントローラ接続用です。インサーキット・エミュレータ本
体にはこの他にトリガ出力用コネクタ端子(TRIGOUT)があります。
2-1 接続の手順
すべての機器の電源がOFFになっていることを確認してから、以下の作業を行
なってください。
1. インタフェース・ボードに接続した34芯フラット・ケーブル(1.5m)
のもう一方をエミュレータ・コントローラのHOST I/Fコネクタに
接続します。
2. エミュレータ・コントローラのICE MODULEコネクタを、インサー
キット・エミュレータ本体のCONTROLLERコネクタに接続してく
ださい。
☞
【 『MN10300シリーズ PanaXシリーズ インストール・
マニュアル』】
3.インサーキット・エミュレータ本体に、ダミーアダプタ(PRB−EX−
DMY103XXX)を取り付けてください。(デバッガインストール時
でターゲットと接続せず、インサーキット・エミュレータ単独で動作させ
る場合のみ)
接続の手順
3・接続と起動
3
25
ホストコンピュータの設定
接続後、コントロール・ソフト(デバッガ)の環境設定を行います。
環境変数の設定
Cソースコード・デバッガでは以下の環境変数を参照します。設定が必要な場
合は、MS−DOSのSETコマンドで設定してください。
PATH
:カレント・ディレクトリにCOMMAND.COM,MON103.EX,
PICE103.MES,PICE103.MACがない場合、PATHで示
されるディレクトリを順番に検索します。
HELP
:カレント・ディレクトリにヘルプファイル(PT103.HLP)がな
い場合、HELPで示されるディレクトリを検索します。
PANASRC
:デバッグする実行形式ファイルのソース・ファイルが格納
されているディレクトリを指定します。L,Vコマンドな
どは、PANASRCで示されるディレクトリのソース・
ファイルを表示します。PANASRCが設定されていな
ければ、カレント・ディレクトリのソース・ファイルを表
示します。
TMP/TEMP:Cソースコード・デバッガの作業用ファイルが格納される
ディレクトリを指定します。デバッガの内部処理時間を短
縮するためにRAMディスク領域に設定することをお勧め
します。
TMP/TEMPが設定されていなければ、カレント・ディ
レクトリにファイルが作られます。
ホストコンピュータの設定
26
3-1 インストーラの起動
1.ホストコンピュータに電源を入れます。
2.エミュレータ・コントローラのACケーブルをAC100Vに接続し、電源スイッ
チを入れて下さい。
3.コンピュータのコマンド入力待ち状態において PINS103
↵
と入力し
ます。
以下の項目を設定します。
(1)「インタフェース方式」
ホストコンピュータとインサーキット・エミュレータのインタフェース方式
を選択します。
(2)「I/Fポート・アドレス」
インタフェースボードのロータリー・スイッチで設定したI/Oアドレスを
指定します。矢印キーで下位アドレス、SHIFT+矢印キーで上位アドレス
☞
を指定します。【 ロータリー・スイッチ 第9章-2】
(3)「CPU選択」
使用するCPUを矢印キーで選択します。
(4)「メモリモード」
メモリモードを矢印キーで選択します。
(5)「バスサイズ」
マイコンのバスサイズを矢印キーで選択します。
(6)「リセットスタート時のスタックポインタ」
スタック・ポインタの初期値を入力します。(メモリの実装されているとこ
ろに設定する必要があります。)
上記6項目設定後、ESCキーでインストーラを終了します。
ホストコンピュータの設定
3・接続と起動
27
インストーラ実行後、環境設定ファイル(PICE103.ENV)が作成され
ます。これはCソースコード・デバッガ起動時に読み込まれるファイ
ルです。誤って消去したり、内容を変更することのないように注意し
てください。
ホストコンピュータの設定
28
3-2 デバッガのテスト起動
4.MS−DOSコマンド入力待ち状態で
PICE103 ーNOTARGET ↵ と入力します。画面が表示さ
れ、デバッガの起動が確認できれば Q ↵ で終了してください。
・-NOTARGETオプションはインサーキット・エミュレータ単独で使用す
る場合のみ指定してください。
ターゲットシステムと接続する場合には、絶対にこのオプションを指
定しないでください。
最悪の場合、インサーキット・エミュレータ本体が破壊されることが
あります。
・Cソースコード・デバッガは起動時に3.で生成された PICE103.ENV
ファイルとインサーキット・エミュレータ用モニタファイル
(MON103.EX)、メッセージファイル(PICE103.MES)およびマクロ
命令定義ファイル(PICE103.MAC)を読み込みます。MON103.EX,
PICE103.MES,PICE103.MAC ファイルがカレント・ディレクトリにな
い場合は、環境変数PATHで指定されたディレクトリを検索しま
す。なお、PICE103.ENVファイルはカレント・ディレクトリに置く必
要があります。
【 Cソースコード・デバッガの起動方法/起動オプション
第5章-1】
☞
ホストコンピュータの設定
3・接続と起動
4
29
電源のON/OFF
電源の投入は、ホストコンピュータ、ターゲットシステム、エミュレータ・
コントローラの順に行なってください。これは双方に過電流が流れるのを防
ぐためです。特にインサーキット・エミュレータは過電流に弱いのでご注意
ください。
また、インサーキット・エミュレータを単独(ターゲットシステムを接続せ
ずに)使用する場合は、ホストコンピュータ、エミュレータ・コントローラ
の順に電源を投入してください。
電源を切る場合は、電源投入の逆の手順で行ってください。
電源のON/OFF
30
4
第 章
Cソースコード・デバッガの
特徴的な機能と使用方法
1.ウィンドウ表示の概要
2.デバッグ作業の流れ
3.実行形式ファイルの作成
4.デバッグ作業のチュートリアル
32
1
ウィンドウ表示の概要
Cソースコード・デバッガでは、デバッグ時に必要な情報を表示するために
5つのウィンドウ(ウォッチ・コード・コマンド・レジスタ・オプション)を
☞
用意しています。【ウィンドウの表示 第6章-1
】
(1)
(4)
(2)
(5)
(3)
(1)ウォッチ・ウィンドウ
ユーザ指定の変数やメモリ内容のウォッチ表示をします。
(2)コード・ウィンドウ
ソースリスト、あるいはソースリストとアセンブラのミックス表示を
します。
(3)コマンド・ウィンドウ
ダイアログ・コマンド(キー入力、マクロ)の入力/表示をします。
(4)レジスタ・ウィンドウ
レジスタ内容とフラグの状態を表示します。
(5)オプション・ウィンドウ
メモ、バックトレース、スタック、ローカルの4つのウィンドウのい
ずれかを表示します。
ウィンドウ表示の概要
4・Cソースコード・デバッガの特徴的な機能と使用方法
2
33
デバッグ作業の流れ
ここでは、簡単なサンプル・プログラムを用いて、デバッグ作業を中心に一連
の作業とCソースコード・デバッガを使用する場合の基本的な操作について説
明します。
プログラムは特定の目的を実現するため
に記述されます。例えば、ビデオのタイ
マ予約の機能を付加するためや洗濯機の
1.プログラム仕様の作成
モータ・コントロールをするためなど、
様々な目的をもったプログラムが考えら
れます。通常それらの機能仕様からプロ
グラム仕様(アルゴリズム)が決められ
ます。
▼
2.実行形式ファイルの作成
(エディタ/コンパイラ/
アセンブラ/リンカ)
プログラム仕様が決まるとエディタを使っ
てソースリストの作成(コーディング作業)
をします。ソースリスト作成後、コンパイ
ル、リンクを行います。コンパイル、リン
ク時にエラーが発生した場合は、ソースリ
ストの適切な修正を行います。ここでは次
頁に示すサンプル・プログラムのソースリ
ストが作成されていると仮定します。
☞
【 第4章-3】
▲
▼
3.デバッグ作業
(デバッガ)
コンパイル、リンク時にエラーがなけれ
ばデバッグ作業に移ります。プログラム
完成までに2、3の工程を繰り返し行い
ます。【 第4章-4】
☞
▼
4.プログラム完成
デバッグ作業の流れ
34
3
実行形式ファイルの作成
サンプル・プログラム(SAMPLE.C)はC言語で記述されています。このサン
プル・プログラムは sec[ ] 変数の内容をカウントアップする簡単なプログラム
です。sec[0] は cnt60( ) 関数が呼びだされるごとに1ずつ増加します。sec[0]の
値が10になるとその内容を0にクリアして sec[1] の値を1増加します。sec[1]
もその値が6になると0にクリアされます。この動作を繰り返し実行します。
ここでは、SAMPLE.Cのソースリストをみてみましょう。
■サンプル・プログラム(SAMPLE.C)
0001
0002
/* MN10300 SERIES C SAMPLE PROGRAM */
/* MN10300 COUNTER PROGRAM */
0003
0004
0005
#define
#define
INIT_DISPDATA_L
INIT_DISPDATA_H
0006
0007
int
*i;
0008
0009
0010
0011
0012
struct abc {
int tst1;
int tst2;
};
0013
0014
struct abc test;
0015
0016
int
sec[2];
0017
0018
0019
0020
0021
0022
main(){
struct aaa {
int a1;
int a2;
}tmp;
0023
0024
initialize();
0025
0026
0027
for(;;){
display();
実行形式ファイルの作成
0x00
0x00
4・Cソースコード・デバッガの特徴的な機能と使用方法
0028
0029
35
}
}
0030
0031
0032
0033
0034
initialize(){
init_data();
}
0035
0036
0037
0038
0039
display(){
cnt60();
}
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
cnt60(){
sec[0]++;
if(sec[0] == 10){
sec[0] = 0;
sec[1]++;
if(sec[1] == 6)
sec[1] = 0;
}
}
0051
0052
0053
0054
0055
init_data(){
test.tst1=0;
test.tst2=0;
0056
0057
sec[0] = INIT_DISPDATA_L;
sec[1] = INIT_DISPDATA_H;
0058
0059
}
次にサンプル・プログラムをコンパイル、リンクして実行形式ファイルを作成
します。
実行形式ファイルの作成
36
4
デバッグ作業のチュートリアル
この項目ではサンプル・プログラム(SAMPLE.C)を使用した実際のデバッ
グ作業を通して、Cソースコード・デバッガの起動から終了までの一連の
作業の進め方と操作方法の概要を修得します。この操作方法にウィンドウ・
コマンド、ダイアログ・コマンドの知識があれば、Cソースコード・デバッ
ガを操作することができます。
4-1 Cソースコード・デバッガの起動
カレント・ディレクトリに以下のファイルがあることを確認してください。
もしカレント・ディレクトリにファイルがない場合はマスタディスクからコ
ピーしてください。
PICE103.EXE ........ Cソースコード・デバッガ10300本体
PINS103.EXE ........ 環境設定ユーティリティ
ENV103.TXT ......... 品種別定義ファイル
PICE103.MAC ....... マクロ命令定義ファイル
PICE103.MES..... メッセージファイル
PT103.HLP ............ Cソースコード・デバッガ10300のヘルプファイル
MON103.EX .......... インサーキット・エミュレータ・モニタプログラム
ファイル
SAMPLE.EX .......... サンプル・プログラムの実行形式ファイル
SAMPLE.C ............ サンプル・プログラム・ソース・ファイル
STARTUP.ASM .... サンプル・プログラムのスタートアップ・ルーチン・
ソース・ファイル
デバッガの起動
PIC E1 03
Cソースコード・デバッガを起動します。MS−DOSのコマンドとして
☞
【 P. 28】
PICE103 -NOTARGET
↵
と入力してください。するとCソースコード・デバッガ起動画面があらわれ
ます。-NOTARGETは、ターゲットシステムを接続していない場合に指定し
てください。
ここでは説明上、メインメモリに約500Kバイトの空き領域があるこ
とを前提にしています。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
37
画面の上の部分(コード・ウィンドウ)はプログラムのCソースまたは逆ア
センブル・リストを表示します。
画面の下の部分(コマンド・ウィンドウ)ではキーボードより入力したコマ
ンドを実行/結果を表示します。コマンド・ウィンドウの左下の部分で画面
上のカーソル位置に入力文字が表示されます。
画面最下行は10個のファンクション・キー(F1∼F10)の機能表示を
しています。ファンクション・キーを使うと実行やブレーク・ポイントの設
定などが簡単に行えます。
デバッグ作業のチュートリアル
38
4-2 ヘルプ
ヘルプ画面の表示
H EL P /
HELP
【 ☞ P. 202】
Cソースコード・デバッガを起動してまず始めにすべきことは、実行形式ファ
イル(ここではSAMPLE.EX)を読み込むことです。しかし、どうすれば読
み込めるのかがまだよく分かりません。もし、自分の処理したいことをどの
ように行えば良いか分からない場合は、キーボードより
HELP
↵
と入力するか、
HELP
キーを押してください。すると、ヘルプ画面があらわれます。
まず、行いたい処理内容を探します。ここではプログラムロード(画面の1
番右の行の中央付近)の項目があります。カーソルキーで選択項目(白色反
転表示の項目)を移動できます。プログラムロードを選択してください。
プログラムロードが選択された状態でリターンキーを押します。
↵
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
39
ヘルプ画面が切り換わりプログラムロードの項目が表示されます。
ここで、プログラムロードのコマンドは
L 【<ファイル名>】
であることが分かりました。
ヘルプ画面の消去
ESC
ESCキーを押すとCソースコード・デバッガの元の画面に戻りま
す。
デバッグ作業のチュートリアル
40
4-3 実行形式ファイルのロード
プログラムのロード
実行形式ファイル(ここではSAMPLE.EX)の読み込みは、Lコマンドで実
L <ファイル名>
行できることが分かったので、キーボードより
☞
【 P. 114】
L SAMPLE
↵
と入力してください。(Lコマンドのファイル指定でファイル拡張子を省略
した場合は".EX"が仮定されます。) すると、コード・ウィンドウの表示が STARTUP.ASM のソースリストの表
示に変わります。
プログラムカウンタ
コードウィンドウ内の黄色に反転表示されたソース行がプログラム・
カウンタ(PCレジスタ)の指す行となっています。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
レジスタ・ウィンドウ、
オプション・ウィンドウの表示
F2
オプション・ウィンドウの切り換え
CTRL + F2
41
次にF2(OptWin)キーを押してください。画面右部分に新しいウィ
ンドウが表示されます。このウィンドウの上の部分は、常に最新のレ
ジスタ内容を表示するレジスタ・ウィンドウです。
下の部分は、ローカル、メモ、バックトレース、スタックの4つのうち
いずれか1つをCTRLキーを押しながらF2(OptWin)キーを押す
ことによって選択して表示します。(ただし、ローカル・バックトレー
スはCのデバッグモードの場合のみ表示することができます。)
レジスタ・ウィンドウ、
オプション・ウィンドウの消去
F2
もう一度F2(OptWin)キーを押すと、このウィンドウは消えてしま
います。F2(OptWin)キーでこのウィンドウを表示する/しないを
指定します。
デバッグ作業のチュートリアル
42
4-4 画面制御/ファイル操作
コード・ウィンドウに表示されているソースリストのもう少し下の部分を見る
にはどうすればよいのでしょうか?
ウィンドウ間のカーソル移動
まずHOMEキーを押してください。するとコマンド・ウィンドウにあったカー
☞ P. 66】
HOME 【 ソルが消えてコード・ウィンドウの方にカーソルが移りました。もう一度、H
OMEキーを押すとカーソルは再びコマンド・ウィンドウに戻ります。
カーソルを下へ移動する、
画面を上にスクロールする
☞ P. 66】
↓ 【 カーソルをコード・ウィンドウに移動(コマンド・ウィンドウにカーソルがあ
ればHOMEキー押してください)して下カーソルキー(↓)を押してくださ
い。カーソルは1つ下に移動しました。
さらに下カーソルキーを押し続けてください。カーソルが次々と下に移動して
いきます。そして、コード・ウィンドウの一番下にカーソルが到達するとコー
カーソルを上へ移動する、
画面を下にスクロールする
☞ P. 66】
↑ 【 ド・ウィンドウの表示が上にスクロールしていきます。今度は上カーソルキー
(↑)を押してください。するとカーソルは上に移動してコード・ウィンドウ
の一番上までくるとコード・ウインドウの表示が下にスクロールします。この
ほか、ROLL UP,ROLL DOWNキーなどを使ってコード・ウィン
ドウの表示をスクリーンエディタで画面を参照するような感覚で操作できます。
ファイル選択ウィンドウの表示
次に、F1(File)キーを押してください。画面上にファイル選択ウィン
☞ P. 74】
F1 【 ドウが表示されます。この例では SAMPLE.C,STARTUP.ASM ファイルが表
示されています。もっと多くのソースファイルからなるプログラムをデバッグ
する場合、それらの各ソースファイル名が表示されます。そこでカーソルキー
ファイルの選択
<プログラム名>
により黄色反転表示されているファイルを選択してリターンキーを押せば、ファ
↵
イル選択ウィンドウが消えてコード・ウィンドウに選択したファイルが表示さ
れます。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
43
逆アセンブラとCソースの表示
リターンキーを押してファイル選択ウィンドウを消した状態で、F3(Src
☞ P. 69】
F3 【 SW)キーを押してください。するとコード・ウィンドウの表示は、逆アセン
ブラとCソースのミックス表示に変ります。この表示はソースリストだけでは
分らない、より細かいデバッグの場合に有効です。
もう一度、F3(SrcSW)キーを押してください。再びソースのみの表示
に戻ります。
実行形式ファイル(SAMPLE.EX)のロードが終わり、画面に表示されている
ウィンドウの内容も理解できました。以上でプログラムを実行する準備が整い
ました。
デバッグ作業のチュートリアル
44
4-5 プログラム実行/ブレーク
この項ではプログラムの実行、ブレークの設定、削除方法について説明します。
プログラムの関数ステップ実行
プログラムを1行ずつ実行する(ステップ実行)方法には、関数ステップ実行
F10 【 ☞ P. 71】
とシングルステップ実行があります。まず最初に、関数ステップ実行をしてみ
ましょう。F10(FncStp)キーを押してください。するとコード・ウィ
ンドウのカレント行(黄色反転表示行)が下に移動しました。これで1ステッ
プ分の実行ができました。さらに、F10(FncStp)キーを何度も押し
てください。するとカレント行は次々と変化していきます。
またレジスタ・ウィンドウ(もし、画面上にレジスタ・ウィンドウの表示がな
い場合はF2(OptWin)キーを押してください)のレジスタ表示に注目
してください。F10(FncStp)キーを押すごとに最新のレジスタ値を
表示します。
プログラムのシングルステップ実行
ステップ実行にはもう一つの方法があります。F8(SglStp)キーを押
F8 【 ☞ P. 71】
してください。関数ステップ実行と同様にカレント行の表示が移動します。さ
らに、F8(SglStp)キーを何度も押してください。するとカレント行
は関数 display( ) や cnt60( ) の中を順番に1ステップずつ実行していきます。
(この方法を特にシングルステップ実行といいます。)
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
45
F10(FncStp)キーの関数ステップ実行とF8(SglStp)キー
のシングルステップ実行は、呼び出し関数を1ステップとみなして実行するか、
呼び出した関数の内部を1ステップずつ実行するかの違いがあります。
ブレーク(ソフトウェア・ブレー
ク)の設定/削除
☞ P. 71】
F9 【 次にブレーク(ソフトウェア・ブレーク)を設定してみます。カーソルをコー
ド・ウィンドウに移し、(もし、現在のカーソルがコマンド・ウィンドウにあ
る場合はHOMEキーを押してください)SAMPLE.Cファイルの45行目にカー
ソルを移動してください。45行目にカーソルが移動した後に、F9(Bre
ak)キーを押してください。すると、45行目の下に下線が表示されます。
これでソーリストの45行目にブレークが設定されました。
ブレークを削除する場合は、ブレーク設定行にカーソルを合わせてF9(Br
eak)キーを押してください。下線が消え、削除されたことが分かります。
デバッグ作業のチュートリアル
46
プログラムの実行
ここでプログラムを実行させてみましょう。F5(Go)キーを押してくださ
☞ P. 70】
F5 【 い。すると、先ほどブレーク(ソフトウェア・ブレーク)を設定したソースリ
ストの45行目でプログラムが停止します。
ブレーク・イベントの全削除
BC *
【 ☞ P. 136】
次に、キーボードから
BC *
↵
プログラムの強制停止
と入力してください。このコマンドはダイアログ・コマンドによるブレーク・
ESC 【 ☞ P. 71】
イベントの全削除です。
それでは、もう一度、F5(Go)キーを押してプログラムを実行させてくだ
さい。今度はブレーク・イベントの設定がないので実行は中断されずに続けら
れます。プログラム実行中に中断したい場合には、ESCキーを押してくださ
い。プログラムは強制的に停止します。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
47
4-6 メモリ参照
サンプル・プログラムでは sec[0],sec[1] の変数の値が重要なポイントとなり
コマンド・ウィンドウ上での
メモリ内容の参照
ます。そこで sec の値を参照してみましょう。キーボードより
↵
D sec
D <アドレス>
【 ☞ P. 167】
と入力してください。すると、コマンド・ウィンドウに
0000000C
0A
00
00
00
00 ................
アドレス 0x0000000C の sec[0] と 0x00000010 の sec[1] の内容が16進数で表
示されます(secはintで宣言しています。)
値は一例であり、必ずしも上記表示とは一致しません。
ウォッチ・ウィンドウ上での
メモリ内容の参照
次に、キーボードより
W ? <シンボル>
【 ☞ P. 195】
W? sec
↵
と入力してください。すると、コード・ウィンドウの上に新たにウォッチ・ウィ
ンドウがオープンされ sec が宣言されている型、アドレスとその値が表示され
ます。
デバッグ作業のチュートリアル
48
ウォッチ登録された内容は常に最新の値を表示し続けます。例えば、ソースの
45行目にブレーク(ソフトウェア・ブレーク)[F9(Break)キー]
を設定してください。次に、F5(Go)キーによりプログラムを実行します。
すると、ウォッチ・ウィンドウの表示は更新されます。続けてF5(Go)キー
を押してください。値が次々と更新されていくのが分かります。
ウォッチ・ウィンドウの全削除
ウォッチの全削除は、キーボードより
Y *
☞
【 P199】
Y *
↵
と入力してください。ウォッチ・ウィンドウは画面から消えてしまいます。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
49
4-7 サブ・プロセス
Cソースコード・デバッガは、デバッグ作業中に他のMS−DOSコマンド
を起動して、随時そのコマンドとCソースコード・デバッガの間を往復する
機能を持っています。つまり、Cソースコード・デバッガと他のMS−DO
Sコマンドを一台のコンピュータ上で同時に起動し、これら2つのプロセス
をキー操作で切り換えながらデバッグ作業を行えることを意味します。Cソー
スコード・デバッガでは、このもう一方のプロセスのことをサブ・プロセス
と呼びます。
サブ・プロセスの起動
実際にサブ・プロセスを起動してみましょう。キーボードより
!
☞
【 P.203】
!
↵
と入力してください。すると、MS−DOSのコマンド入力画面になります。
この状態では通常のMS−DOSコマンドがそのまま利用できます。エディ
タで先ほどからデバッグ作業の練習に使用しているSAMPLE.Cファイルをオー
プンしてください。
サブ・プロセス移行時に、
“メモリが足りません”
と表示された場合は、起動時のオプション‘−B’を参照してください。
☞
【起動オプション 第5章】
デバッグ作業のチュートリアル
50
サブ・プロセスからの復帰
CTRL + 0
CTRLキーを押しながらテンキーの0キーを押すと、Cソースコード・デ
バッガの画面に戻ります。今度は、CTRLキーを押しながらテンキーの1
キーを押してください。エディタ画面へ移ります。このように簡単な操作で
サブ・プロセスへの移行
CTRL + 1
☞
【 P. 77】
Cソースコード・デバッガとエディタなど他のMS−DOSコマンド(アプ
リケーション)を切り換えて使用できます。この機能を用いて、デバッグ作
業中にソースファイルや仕様書のドキュメントファイルを参照したり、バグ
のあった部分のソース修正を行うなど様々な応用が可能です。
Cソースコード・デバッガは、プロセス切換えを行う場合にMS−DO
Sのシステム内部の情報(カレント・ディレクトリなど)は切り換えま
せん。従って、サブ・プロセスでカレント・ディレクトリなどの変更を
行った場合にはCソースコード・デバッガに戻る前に元の状態に戻して
ください。また、2つのプロセス間でファイルの排他制御は行っていま
せんので、互いに同じファイルをアクセスする場合には注意してくださ
い。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
51
4-8 マクロ・コマンド
Cソースコード・デバッガには、複数のコマンドを組み合せて新しいコマンド
を構築したり、条件判断を行ったりすることができるマクロ機能があります。
初心者の方にとっては少々難しいかもしれませんが、マクロ機能を利用できる
ようになれば、デバッグ作業が更に便利になります。
SAMPLE.Cの45行目にブレーク・ポイントを設定して sec[0] の値が‘9’の
場合、sec のアドレスからダンプ表示するようなマクロを記述してみます。
{testmacro
bp .sample.c:45
g
while{_ _run_ _
}
if{val(sec[0]==9)
d sec
}
}
最初の行はマクロの宣言部分でTESTMACROの名前で宣言します。2行
目はソースリストの45行目にブレーク(ソフトウェア・ブレーク)を設定し
ます(BPコマンドでもF9(Break)と同様にブレーク(ソフトウェア・
ブレーク)を設定することができます)。3行目でユーザ・プログラムを実行
させます。4行目と5行目は、while ループになっており、ユーザ・プログラ
ムが停止(ブレークが成立)するまでループを繰り返します。そして、6行目
と7行目でブレーク成立後の処理を行います。
マクロ・コマンドの実行
マクロ・コマンドの実行は簡単で、キーボードから
登録したマクロ名
☞
【 P. 223】
TESTMACRO
↵
と入力してください。先ほどマクロ定義したマクロが実行されます。
ユーザ・プログラム実行後、停止するまで待ち、 sec[0] の値が9だったら sec
のアドレスからダンプ表示して、マクロを終了します。
デバッグ作業のチュートリアル
52
4-9 Cソースコード・デバッガの終了
最後に、Cソースコード・デバッガを終了してMS−DOSへ戻ります。
キーボードから
Cソースコード・デバッガの終了
Q
【 ☞ P. 201】
Q
↵
と入力してください。MS−DOSに戻りましたか?
”サブ プロセスが終了していません”
とエラーメッセージが表示されませんでしたか?このような場合には、
CTRL+1キーでサブ・プロセスに移行してプログラムを終了させてくださ
い。例えば、サブ・プロセスでMS−DOSプロンプトにある場合には
EXIT
↵
と入力してください。すると
”スペースキーを押してください PICEに戻ります”
とメッセージ表示されます。スペースキーを押すとデバッガ画面に戻ります。
こうしてサブ・プロセスを終了させてからもう一度
Q
↵
と入力してください。今度はCソースコード・デバッガが終了し、MS−DOS
に戻りました。
デバッグ作業のチュートリアル
4・Cソースコード・デバッガの特徴的な機能と使用方法
53
4-10 プログラム完成(Cソースコード・デバッガ操
作の概要修得)
実際のプログラム開発では簡単にプログラムは完成しません。先に説明し
たエディット−コンパイル/アセンブル/リンク−デバッグといった作業
を何度も繰り返し、プログラム完成に向います。
さて、ここまでの作業を順を追ってCソースコード・デバッガを操作した
ことにより、デバッガの概要や大まかな使い方については充分理解された
と思います。今後は、サンプル・プログラムではなく、実際のデバッグ作
業にCソースコード・デバッガを活用しながら更に高度な利用方法を見つ
けてください。
デバッグ作業のチュートリアル
54
5
第 章
Cソースコード・デバッガの
起動方法/起動オプション
1.Cソースコード・デバッガの
起動方法/起動オプション
56
1
Cソースコード・デバッガの起動方法/
起動オプション
Cソースコード・デバッガの起動はMS−DOSコマンド入力待ち状態で次の
ように入力します。
PICE103 [<オプション>][<デバッグファイル>]
↵
Cソースコード・デバッガ起動時に、もしカレント・ディレクトリにINIT.MCR
ファイル があれば、自動的にこのファイルを読み込んで実行します。これは、
ちょうどMS−DOSのAUTOEXEC.BATファイルに相当します。
Cソースコード・デバッガ起動時のオプションには、以下のものがあります。
(オプションとオプションの間には空白が必要です。)
起動オプション
オプション内容
−B[<サイズD>][,<サイズM>]
デバッグ情報領域、マクロ領域のサイズ指定
−BEMS[,<サイズM>]
デバッグ情報領域をEMSメモリに確保
−E<拡張子>
デフォルト拡張子の指定
−F
オーバラップ・モード指定(ファイル退避)
−FEMS
オーバラップ・モード指定(EMSメモリに退避)
−N
インジケータ無効指定
−TAB<タブサイズ>
タブサイズの指定
−X
アセンブラのデバッグ・モードを指定
−XC
CC103コンパイラのデバッグ・モードを指定
−NOTARGET
ターゲットシステムなしでの起動
Cソースコード・デバッガの起動方法/起動オプション
5・Cソースコード・デバッガの起動方法/起動オプション
デバッグ情報領域、マクロ領域
のサイズ指定
− B
57
デバッグ情報領域およびマクロ領域のサイズ指定を行います。
デバッグ情報領域にはシンボル情報、行番号情報など多くの情報が格納され
ます。この情報領域はデバッグ情報を含んだ実行形式(すべてデバッグオプ
ションを付けてコンパイルした場合のEXファイル)の約1/2の領域が必
要となります。そのためにデバッグ情報領域をコンベンショナル・メモリ(6
40Kバイト以下のメモリ領域)に確保すると、大きなプログラムのデバッ
グができなくなってしまいます。このような場合には、EMSメモリにデバッ
グ領域を確保してください。
−B[<サイズD>][,<サイズM>]
デバッグ情報領域<サイズD>、マクロ領域<サイズM>の大きさをそれぞれ数
値で指定します。
<サイズD> デバッグ情報を登録する領域のサイズ(16Kバイト単
位)
640K以下のメモリ領域に指定サイズの領域を確保し
ます。省略時には64Kバイトの領域を確保します。
<サイズM> マクロ・コマンド登録領域サイズ(1Kバイト単位、最
大32Kバイト)
省略時には3Kバイトの領域を確保します。
参考
例えばデバッグ情報領域128Kバイト、マクロ領域を5Kバイト確保するには
↵
PICE103 − B128, 5
と入力します。
−BEMS[,<サイズM>]
デバッグ情報領域をEMSメモリに確保します。マクロ領域<サイズM>の大
きさは数値で指定します。
参考
例えばデバッグ情報をEMSメモリに、マクロ領域を10Kバイト確保するには
PICE103 − BEMS, 10
↵
と入力します。
Cソースコード・デバッガの起動方法/起動オプション
58
オーバラップ・モードの指定
デバッグ・プログラムの実行時に必要最小限の機能のみをメインメモリに常
−F
駐させ、Cソースコード・デバッガ本体とワーク領域をEMSメモリ、ファ
イルに退避させるモード(オーバラップ・モード)を指定します。
【オーバラップ機能 第1章-1】
☞
−F
オーバラップさせる退避領域としてファイルを使用します。
−Fオプションの指定がある場合、環境変数TMPまたはTEMPで指定さ
れたディレクトリにオーバラップのためのファイルを作ります。従って、
RAMディスクをオーバラップ用のディスクに指定しておけばオーバラップ
時間を大幅に節約できます。この環境変数が設定されていない場合は、カレ
ント・ディレクトリにファイルが作られます。【 第3章-3】
☞
−FEMS
オーバラップさせる退避領域としてEMSメモリを使用します。
ファイルに退避する場合と比べて、高速にタスクスワップを実行できます。
デフォルト拡張子の指定
ソースファイルの拡張子のデフォルトを指定します。
− E <拡張子>
<拡張子>がソースファイルのデフォルトの拡張子となります。このオプショ
ンが省略された場合は .C がデフォルトの拡張子になります。
インジケータ無効指定
画面の種類を示すインジケータ表示をしないモード指定です。
− N
画面左下に表示される S,Uの表示(サブ・プロセス画面やユーザ画面のイ
ンジケータ表示)をしません(PC−9800シリーズのみ指定可能)。
タブサイズの設定
コード・ウィンドウのソース表示をするとき、タブのサイズ指定をします。
−TAB
−TAB(タブサイズ)
タブサイズで指定される数にタブを合わせます。このオプションを省略した
場合のタブサイズは8に設定されます。
エディタでタブサイズを変更したファイルを表示するのに便利な機能です。
Cソースコード・デバッガの起動方法/起動オプション
5・Cソースコード・デバッガの起動方法/起動オプション
参考
59
タブを4カラムに設定するには
PICE103 − TAB4
↵
と入力します。
C/アセンブラ・デバッグ・モード
指定
−X
アセンブラまたはCのデバッグ・モードを指定をします。
−X
アセンブラのデバッグ・モードを指定します。このモードでCソースコードデ
バッガを起動すると、C関連(スタックのバックトレース、ローカル変数)の
コマンドは使用できません。
−XC
CC103コンパイラのデバッグ・モードを指定します。
ターゲットシステムなしでの起動
−NOTARGET
インサーキット・エミュレータを単独(ターゲットシステムを接続せずに)使
用する場合に指定します。ターゲットシステムがない場合は、必ずこのオプショ
ンを指定してください。
ターゲットシステムが接続されている場合は、絶対にこのオプションを
指定しないでください。ターゲットシステムの電圧とインサーキット・
エミュレータの電圧が異なり、インサーキット・エミュレータが正常に
作動しなかったり、システムを破壊することがあります。
Cソースコード・デバッガの起動方法/起動オプション
60
6
第 章
ウィンドウ・コマンド
1.ウィンドウの表示
2.ウィンドウ・コマンド
3.データ参照機能
62
1
ウィンドウの表示
Cソースコード・デバッガはファンクション・キーやコントロール・キーによ
るウィンドウ・コマンドとダイアログ・コマンドの2通りのコマンド指定がで
きます。ここではウィンドウ・コマンドの内容および操作方法について解説し
ます。ダイアログ・コマンドに関しては第7章ダイアログ・コマンドを参照し
てください。
(1)
(2)
(1)コード・ウィンドウ
ソースリストまたは逆アセンブラとソースリストのミックス表示をしま
す。 このウィンドウ上にカーソルがある場合、ソースリストのロールアッ
プ、ロールダウンなどの表示変更や、カーソル位置へのソフトウェア・
ブレークの設定/解除などのウィンドウ・コマンドを利用できます。
(2)コマンド・ウィンドウ
ダイアログ・コマンドの入力およびコマンド表示をするためのウィンド
ウです。このウィンドウは画面表示と同時にコマンド・ウィンドウ表示
バッファ(8Kバイトの領域を確保)に表示内容をバッファリングしま
す。コマンド・ウィンドウ上にカーソルがあれば、表示バッファの範囲
内をカーソルキーでロールアップ、ロールダウンできます。
ウィンドウの表示
6・ウィンドウ・コマンド
63
(3)
(3)レジスタ・ウィンドウ
レジスタ内容やフラグの状態を表示するウィンドウです。このウィンド
ウは必要に応じてオープン(表示)/クローズ(消去)が容易にできま
す。
ウィンドウの表示
64
(6)
(5)
(7)
(4)
(8)
(4)オプション・ウィンドウ
このウィンドウはメモ、バックトレース、スタック、ローカルの4つのい
ずれかを選択して表示することができます。ただし、バックトレースとロー
カル・ウィンドウはCのデバッグモードの場合のみ表示可能です。
メモ・ウィンドウ
:MEMコマンドで登録したメモ内容を表
示します。
バックトレース・ウィンドウ :Cの関数のバックトレースを表示しま
す。
スタック・ウィンドウ
:スタックのメモリ内容を表示します。
ローカル・ウィンドウ
:プログラム・カウンタ(PCレジスタ)
のある関数のローカル変数一覧を表示
します。
(5)ウォッチ・ウィンドウ
Wコマンド(ウォッチ登録のダイアログ・コマンド)によって指定された
シンボルやメモリ内容の最新の値を常に表示します。
ウォッチ登録がない場合、このウィンドウは表示されません。
(6)状態表示エリア
ブレーク要因には次のものがあります。(( )内は表示されるメッセージ)
・ソフトウェア・ブレーク(ブレーク・ポイント No. = xx)
BPコマンドで設定したソフトウェア・ブレークのアドレスを実
行する前に停止します。
ウィンドウの表示
6・ウィンドウ・コマンド
65
・ハードウェア・ブレーク(ブレーク・ポイント No. = xx)
BPコマンドで設定したイベントが成立した場合に停止しま
す。
・アンド・ブレーク(アンド・ブレーク)
BPAコマンドで設定した全てのイベントが同時に成立した場
合に停止します。
・シーケンシャル・ブレーク(シーケンシャル・ブレーク)
BPSコマンドで設定した順序でイベントが成立した場合に停
止します。
・トレースフル・ブレーク(トレースフル・ブレーク)
トレースメモリがデータで満たされた場合に停止します。
・強制ブレーク(強制ブレーク)
ホストコンピュータのESCキーを押すことによってユーザプロ
グラムを強制的に停止させます。
・未実装命令ブレーク(未実装命令ブレーク)
定義されていない命令を実行しようとした場合に起こります。
・不正メモリ・アクセス・ブレーク(不正メモリ・アクセス・ブレー
ク)不正なメモリ・アクセスを行った場合に起こります。
・RAMエラー・ブレーク(RAMエラー・ブレーク)
メモリ・アクセスの許可されていない領域をアクセスしようと
した場合に起こります。
・データ・ミスアライメント・ブレーク
(データ・ミスアライメント・ブレーク)
4の倍数以外のアドレスに対してロング(32ビット)データ
を、あるいは奇数アドレスに対してワード(16ビット)データ
を読み込み/書き込みしようとした場合に起こります。
ブレーク要因の他には以下のメッセージが表示されます。
・トレースストップ
トレースが停止した場合(ユーザ・プログラムは停止していま
せん。)
・トレースフルストップ
トレースメモリがデータで満たされたため、トレースが停止し
た場合(ユーザ・プログラムは停止していません。)
(7)タイトル表示
ソース・モードではコード・ウィンドウに表示されているソース・ファ
イル名を表示し、アセンブラ・モードではカーソルがあるアドレスの関
数名と関数の先頭アドレスからのオフセットを表示します。
(8)プログラム・カウンタ
現在のプログラム・カウンタの位置を黄色の反転で示します。
ウィンドウの表示
66
2
ウィンドウ・コマンド
2-1 画面コントロール
コマンド・ウィンドウおよびコード・ウィンドウでの画面コントロール(カー
ソル移動、ロールアップ/ロールダウンなど)について説明します。
同じキー操作でもカーソルのあるウィンドウがコマンド・ウィンドウかコード・
ウィンドウかによって違った動作をするものもありますから、注意してください。
HOME
コマンド・ウィンドウとコード・ウィンドウの間でカーソルを移動します。コ
マンド・ウィンドウにカーソルがある場合にはコード・ウィンドウに移動し、
コード・ウィンドウにカーソルがある場合にはコマンド・ウィンドウに移動し
ます。
← / CTRL +S
カーソルを1文字左に移動します。
→ / CTRL + D
カーソルを1文字右に移動します。
↑ / CTRL + E
コード・ウィンドウにカーソルがある場合にはカーソルを1行上に移動します。
コマンド・ウィンドウにカーソルがある場合には1行ロールダウンします。コ
マンド・ウィンドウの表示内容は表示バッファ(8Kバイトの領域を確保)に
ロギングされ、そのバッファに残っている表示内容はロールダウン、ロールアッ
プして参照可能です。
↓ / CTRL + X
コード・ウィンドウにカーソルがある場合にはカーソルを1行下に移動します。
コマンド・ウィンドウにカーソルがある場合には1行ロールアップします。
ただし、D,TDコマンドの直後ではD,TDコマンドの表示の続きを1行分
表示します。
【 ☞ Dコマンド、TDコマンド】
ウィンドウ・コマンド
6・ウィンドウ・コマンド
67
コード・ウィンドウ(ソース表示時)にカーソルがある場合にはカーソルを1
CTRL + A
語(ワード)左に移動します。
コマンド・ウィンドウにカーソルがある場合にはカーソルを行頭に移動します。
コード・ウィンドウ(ソース表示時)にカーソルがある場合にはカーソルを1
CTRL + F
語(ワード)右に移動します。また、逆アセンブル表示時にはカーソル位置が
アドレス→コード→ニーモニックの順に移動します。
コマンド・ウィンドウにカーソルがある場合にはカーソルを行末に移動します。
カーソルを行頭に移動します。
CTRL + Q・ S
(
このコマンドは、コード・ウィンドウがソース表示でかつコード・ウィンドウ
)
CTRL +Q を押した後、
CTRL + S を押します。
CTRL + Q・ D
内にカーソルがある場合のみに有効です。
カーソルを行末に移動します。
このコマンドは、コード・ウィンドウがソース表示でかつコード・ウィンドウ
内にカーソルがある場合のみに有効です。
ROLL
UP
/ CTRL + C
コード・ウィンドウにカーソルがある場合はコード・ウィンドウの表示内容(ソー
ス表示または逆アセンブラ表示)を1画面分ロールアップします。コマンド・
ウィンドウにカーソルがある場合はコマンド・ウィンドウの表示内容を1画面
分ロールアップします。
また、CTRL+CキーはDコマンドなどで長い表示動作を行っているときや
TコマンドやPコマンドでステップ実行を繰り返し行っているときの中断にも
使用します。
ROLL
DOWN
/ CTRL + R
コード・ウィンドウにカーソルがある場合はコード・ウィンドウの表示内容(ソー
ス表示または逆アセンブラ表示)を1画面分ロールダウンします。コマンド・
ウィンドウにカーソルがある場合はコマンド・ウィンドウの表示内容を1画面
分ロールダウンします。
ウィンドウ・コマンド
68
CTRL + Q・ R
カーソルを現在表示しているソース・ファイルの先頭へ移動します。このコマ
ンドは、コード・ウィンドウがソース表示でかつコード・ウィンドウ内にカー
ソルがある場合にのみ有効です。
CTRL + Q・ C
カーソルを現在表示しているソース・ファイルの最後へ移動します。このコマ
ンドは、コード・ウィンドウがソース表示でかつコード・ウィンドウ内にカー
ソルがある場合にのみ有効です。
CTRL + ←
オプション・ウィンドウを拡大します。すなわち、オプション・ウィンドウと
コマンド/コード・ウィンドウの縦方向の境界が左に移動します。
CTRL + →
オプション・ウィンドウを縮小します。すなわち、オプション・ウィンドウと
コマンド/コード・ウィンドウの縦方向の境界が右に移動します。
CTRL + ↑
コマンド・ウィンドウを拡大(コード・ウィンドウを縮小)します。すなわち、
コマンド・ウィンドウとコード・ウィンドウの境界が1行上に移動します。
CTRL + ↓
コマンド・ウィンドウを縮小(コード・ウィンドウを拡大)します。すなわち、
コマンド・ウィンドウとコード・ウィンドウの境界が1行下に移動します。
CTRL + J
画面の再表示を行います。
CTRL + Q・ W
コマンド・ウィンドウを最大の大きさに拡大(コード・ウィンドウは最小の大
きさに縮小)します。
CTRL + Q・ Z
コマンド・ウィンドウを最小の大きさに縮小(コード・ウィンドウは最大の大
きさに拡大)します。
CTRL + Q・ J
すべてのウィンドウの大きさを初期状態に戻して再表示します。
ウィンドウ・コマンド
6・ウィンドウ・コマンド
F2 (OptWin) /
CTRL + 4
(
69
レジスタ・ウィンドウおよびオプション・ウィンドウの表示のON/OFF制
御をします。レジスタ・ウィンドウを表示していない場合には、レジスタ・ウィ
ンドウを表示します。レジスタ・ウィンドウを表示している場合には、レジス
)
4 はテンキーの4 を
押します。
CTRL +F2 (Optsw)
CTRL +O
タ・ウィンドウを消去します。
オプション・ウィンドウの表示内容を切り換えます。メモ→スタックのオプショ
ン・ウィンドウの内容を切り換えます。(ユーザ・プログラムにデバッグ情報
がある場合は、メモ→バック・トレース→スタック→ローカルの順に切り換え
ます。)
このコマンドは、レジスタ・ウィンドウおよびオプション・ウィンドウが表示
されている場合のみ有効です。
F3 (SrcSW)
コード・ウィンドウの表示がソース表示の場合には逆アセンブル表示に、逆ア
☞ 43】
センブル表示の場合にはソース表示に変更します。 【 P.
現在のプログラム・カウンタ(PCレジスタ)のある行を含むように表示します。
ただし、ソース表示をする場合に現在のプログラム・カウンタの値に対応する
ソース行がない場合には最後に表示していたソースを表示します。
CTRL +F3 (SrcSW1)
コード・ウィンドウの表示がソース表示の場合には逆アセンブル表示に、逆ア
センブル表示の場合にはソース表示に変更します。表示は現在のコード・ウィ
ンドウ内のカーソル行を基準にして切り換えられます。ただし、現在カーソル
がある行に対応するソース行がない場合には、最後に表示していたソースを表
示します。
ウィンドウ・コマンド
70
2-2 実行/ブレーク
Cソースコード・デバッガは実行/ブレーク・コマンドを使って、プログラ
ム実行中にデバッグ作業を行うことができます。実行/ブレーク・コマンド
には以下に説明するウィンドウ・コマンドの他に、ダイアログ・コマンドの
G,BPコマンドなどがあります。【 ☞ 第7章-2,3】
プログラム・カウンタ(PCレジスタ)のある行は黄色の反転表示になります。
また、ブレーク(ソフトウェア・ブレーク)が設定されている行には下線が表
示されます。
通常のデバッグでは、実行/ブレーク・コマンドを使用する前にデバッグ
対象の実行形式ファイルを読み込みます。実行形式ファイルは、ダイアロ
グ・コマンドのLコマンドでロードするかCソースコード・デバッガ起動
時に指定します。【Lコマンド 第7章-2】
☞
F5 (Go)
ユーザ・プログラムを現在のプログラム・カウンタ(PCレジスタ)から実行し
ます。許可されているブレーク・イベントはすべて有効となり、ユーザ・プロ
グラムがブレーク・イベントに達した場合、またはESCキーで強制ブレーク
☞ Gコマンド】
した場合にユーザ・プログラムの実行が停止します。【 BP∼,/C<コマンド>で設定したコマンドは実行されません。
F7 (Come)
現在のプログラム・カウンタ(PCレジスタ)からカーソル行の位置までユーザ・
プログラム実行します。許可されているブレーク・イベントはすべて有効とな
り、ユーザ・プログラムがブレーク・イベントに達した場合、またはESCキー
で強制ブレークした場合にユーザ・プログラムの実行が停止します。
☞
【 Gコマンド】
ウィンドウ・コマンド
6・ウィンドウ・コマンド
F8 (Sg1Stp)
71
シングルステップ実行(呼び出し関数(サブルーチン)の中も1ステップずつ
☞ Tコマンド】
実行)します。【 F9 (Break)
ブレーク(ソフトウェア・ブレーク)の設定/解除をします。F9キーを押す
とコード・ウィンドウ内のカーソル行にブレークが設定され、その行に下線が
表示されます。カーソル行にすでにブレークが設定されている場合は解除され
☞ BPコマンド】
ます。【 F10 (FncStp)
関数ステップ実行(呼び出し関数(サブルーチン)は1ステップとみなして実
☞ Pコマンド】
行)します。【 ESC
ユーザ・プログラムの実行を停止(強制ブレーク)します。
参考
CTRL + SHIFT+ GRPH
サブルーチンを関数ステップ実行する場合の実際の動作としては、サブルー
チンコールの命令の後にブレーク・ポイントを設定してユーザ・プログラ
ムを実行します。従って、そのサブルーチンの中にブレーク・ポイントが
設定してあればそこでユーザ・プログラムの実行は停止します。しかし、
サブルーチン内で無限ループになっている場合は、サブルーチンから復帰
しないためユーザ・プログラムは停止しません。(停止したい場合はESC
キーを押して(強制ブレーク)ください。)
マイコンが何らかの理由で暴走し、入力したコマンドが終了しない場合に強制
的にそのコマンドを抜け出します。
ターゲット・システムが正常に動作していないことなどが原因として考えられ
ます。
ウィンドウ・コマンド
72
2-3 文字列の取込み/選択
コード・ウィンドウに表示されている文字列(変数名、関数名など)をカーソ
ルで指定してコマンド・ウィンドウの入力に使用するコマンドです。このコマ
ンドはカーソル指定するだけで長い変数名でも簡単に取り出すことができ、ダ
イアログ・コマンドの入力が軽減されます。さらに文字列選択(Sel)コマ
ンドでは選択したシンボルでインスペクト、ウォッチ、ビューおよびメモ機能
を使うことができます。
CTRL + F9 (Get) /
コード・ウィンドウの文字列をコマンド・ウィンドウに取り込みます。カーソ
CTRL + G
ルをコード・ウィンドウ(ソース表示)に移し、取り込みたい文字列にあわせ
ます。そこでCTRL+GキーまたはCTRL+F9キーを押すと、あたかも
コマンド・ウィンドウでその文字列をキーボードから入力したように動作しま
す。
取込み可能な文字列は英字[a(A)∼z(Z)]とアンダースコア
( _ )および数字(0∼9)からなる文字列です。
ウィンドウ・コマンド
6・ウィンドウ・コマンド
CTRL +F10 (Se1)
73
文字列を選択します。まず、選択したい文字列の先頭へカーソルを移動し、
CTRL+F10キーを押します。するとカーソル上の文字列が黄色の反転表
示となり、ファンクション・キーの表示内容が文字列選択のローカル・コマン
ド表示に変わります。カーソルを取り込みたい文字列の最後まで移動してくだ
さい。
文字列選択時のローカル・コマンドは以下の通りです。
F1 ∼ F5 , F10
押されたファンクション・キーの番号と同じメモ番号領域に選択文字列を登録
☞
します。【 MEMコマンド】
F6 (Inspct)/
CTRL +I / I
選択文字列をCの式としてインスペクトします。
【インスペクト機能 ☞ 第6章-3-1】
F7 (Watch)/
CTRL +W / W
選択文字列をCの式としてウォッチ登録します。
F8 (View)/
CTRL +V / V
☞ 第6章-3-5】
選択文字列をCの式としてビューします。【ビュー機能 F9 (Get)/
CTRL + G / G / ↵
選択文字列をコマンド・ウィンドウの入力に取り込みます。
☞ 第6章-3-4】
【ウォッチ機能 ウィンドウ・コマンド
74
2-4 ファイル表示
参照可能ファイルの一覧/変更および文字列検索のコマンドについて説明
します。
ファイル表示機能はコード・ウィンドウがソース表示されており、かつ
カーソルがコード・ウィンドウにある状態でのみ有効です。
SHIFT + HOME
コード・ウィンドウの表示を次のソースファイルの表示に切り換えます。こ
のコマンドは、コード・ウインドウがソース表示されている場合に有効です。
F1 (Fi1e)
ファイル選択ウィンドウを開いて現在選択可能なファイル一覧を表示します。
ファイル選択ウィンドウの反転表示されたファイルが現在選択されているソー
スファイルとなります。反転表示部分を選択したいソースファイル名の場所
へカーソルキーで移動させてリターンキーを押せば、選択されたソースファ
イルの内容がコード・ウィンドウに表示されます。
ファイル選択ウィンドウ
また、ファイル選択ウィンドウに表示されているファイル以外を参照したい
☞ Vコマンド】
場合は、Vコマンドを使用します。【 ウィンドウ・コマンド
6・ウィンドウ・コマンド
F4 (Search)
75
検索文字列の指定が一度もされていない場合は、検索文字列の入力要求をする
ウィンドウがオープンされます。そこで検索文字列を入力すると現在のカーソ
ル位置より順方向(ファイルの終端方向)に検索を行います。
既に検索文字列の指定がされている場合は、現在のカーソル位置より順方向に
検索文字列の検索を行います。新たに検索文字列を入力するためには
CTRL+Q・Fを使用してください。
検索文字列が見つかった場合には、その該当部分を反転表示して検索を終了し
ます。更に検索を続ける場合は、再度F4キーを押してください。また、検索
文字列が見つからなかった場合には、“検索文字列が見つかりません”と表示
して検索を中断します。
CTRL + Q・ F
検索文字列の入力要求をするウィンドウがオープンされます。以前に、検索文
字列が入力されている場合はその文字列が反転表示されます。何らかのキー入
力があった場合、反転表示を中止し、通常の入力となります。入力時には、シェ
ル機能のヒストリや行編集機能の使用が可能です。検索文字列の入力が完了す
ると、現在のカーソル位置より順方向(ファイルの終端方向)に検索を行いま
す。
CTRL + L
現在のカーソル位置 より順方向に検索文字列(以前にCTRL+Q・Fまたは
F4キーで指定したもの)の検索を行います。
ウィンドウ・コマンド
76
CTRL + F4 (Srch↑)/
CTRL + B
現在のカーソル位置より逆方向(ファイルの先頭方向)に検索文字列(以前に
ESC
文字列検索中は、画面の最上位行に“検索中[ESCキーで中断]”と表示さ
CTRL+Q・FまたはF4キーで指定した文字列)の検索を行います。
れます。途中で検索を中断したい場合には、ESCキーを押してください。“文
字列の検索を中止しました”と表示し、検索を中断します。
ウィンドウ・コマンド
6・ウィンドウ・コマンド
77
2-5 プロセス制御/RAMモニタ
CTRL+数字キー(テンキーの数字キー)でプロセス制御、RAMモニタ画
面切換を行います。
CTRL + 0
サブ・プロセスを一時保留(停止)し、Cソースコード・デバッガに制御を戻
します。
このキーはサブ・プロセス実行中のみ有効です。
CTRL + 1
サブ・プロセスが保留状態になっている場合、Cソースコード・デバッガを一
時保留(停止)しサブ・プロセスに制御を渡します。
!コマンドでサブ・プロセスが起動されていない場合は、このキーは無視され
ます。【サブ・プロセス 第4章-4-7】
☞
CTRL + 4
レジスタ・ウィンドウおよびオプション・ウィンドウ表示のON/OFF制御
を行います。レジスタ・ウィンドウを表示していない場合には、レジスタ・ウィ
ンドウを表示します。レジスタ・ウィンドウを表示している場合には、レジス
タ・ウィンドウを消去します(F2キーと同じ機能です)。
☞
【画面コントロール 第6章-2-1】
CTRL + 5
RAMモニタ表示に変更します。デバッガ画面表示に戻る場合は再度CTRL
+5キーを押してください。
ウィンドウ・コマンド
78
2-6 シェル機能
Cソースコード・デバッガは、ウィンドウ・コマンド以外のキー入力をヒスト
リ・バッファ(約1500文字分の領域)に順次登録し、ヒストリ・バッファ
内容を検索および行編集することが可能です。行編集機能はMS−DOSのテ
ンプレート機能と異なり、編集行の中を自由にカーソル移動して挿入/削除/
変更を行え、スクリーンエディタと同じ感覚で使用できます。シェル機能を十
分に生かせばより少ないキー操作でデバッグが可能となります。
ここで説明する各操作はコマンド・ウィンドウの入力、検索文字列の入力(サー
チ機能参照)、インスペクトの配列要素設定(Range)/数値変更(Ch
ange)入力で有効です。
シェル・コマンドを使ったヒストリ検索、行編集などはカーソルがコマン
ド・ウィンドウにある状態でのみ可能です。
参考
Cソースコード・デバッガでは、コード・ウィンドウにカーソルがある場
合でもSHIFTキーを押すと一時的にカーソルがコマンド・ウィンドウ
に移り、SHIFTキーを離すと再びコード・ウィンドウにカーソルが戻
ります。したがって、シェル機能の多くのものがSHIFT+ ○キーの
形式を標準としています。
BS / CTRL + H
最後に入力した1文字を削除します。
← / SHIFT + ← /
CTRL + S
カーソルを左へ移動します。
→ / SHIFT + → /
CTRL + D
カーソルを右へ移動します。既にカーソルが行末にある場合には、SHIFT
SHIFT + F4 (Ln Top)/
CTRL + A
カーソルを行頭へ移動します。
+F1(C1)と同じ動作をします。
ウィンドウ・コマンド
6・ウィンドウ・コマンド
79
SHIFT + F5 (Ln Bot)/
CTRL + F
T+F3(CA)と同じ動作をします。
DEL / CTRL + G
カーソル位置の1文字を削除します。
SHIFT + F7 (Ln Can)/
CTRL + U
現在編集している行のすべての文字を削除します。
INS / CTRL + V
挿入モード/置換モードを切り換えます。
SHIFT + ↑ /
CTRL + W
直前のヒストリ・バッファの内容を表示します。また、コマンド入力行に文字
カーソルを行末へ移動します。既にカーソルが行末にある場合には、SHIF
列が入力されている場合には、その文字列で始まるヒストリ・バッファ内の文
字列を新しいものから古いものへと順に検索します。条件にあった文字列が見
つかれば表示します。そこでこのキー入力をするとさらに前にヒストリ・バッ
☞ !コマンド、!!コマンド】
ファ内容の検索をします。【 使用例
>bp tcirq
>U main
>bp count
>bp ■ この状態でSHIFT+↑キーを入力すると以前に入力したコマンドで bp で
始まる文字列の検索をし、見つかった文字列 bp count が表示されます。
さらにもう1度SHIFT+↑キーを入力すると bp tcirq が表示され
ます。
SHIFT + ↓ /
CTRL + Z
直後のヒストリ・バッファ内容を表示します。また、コマンド入力行に文字列
が入力されている場合には、その文字列で始まるヒストリ・バッファ内の文字
列を古いものから新しいものへと順に検索し、条件にあった文字列が見つかれ
ば表示します。そこでこのキーを押すとさらに次のヒストリ・バッファ内容の
検索をします。
ウィンドウ・コマンド
80
SHIFT + F1 (C1)/
SHIFT + → /
CTRL + D
直前のヒストリ・バッファから現在のカーソル位置の文字をコピーして表示し
SHIFT +F2 (Histry)
ヒストリ・ウィンドウをオープンし、ヒストリ・バッファの内容を表示します。
ます。MS−DOSのテンプレート機能のF1キーと同じ機能です。
コマンド入力行に文字列が入力されている場合には、その文字列で始まる文字
列をヒストリ・ウィンドウに表示します。ウィンドウ内で反転表示されている
行が現在の選択行になります。
■ヒストリ・ウィンドウ/シンボル拡張ウィンドウのキー操作
ESC
ウィンドウをクローズ(中断)します。
↑/CTRL+E
選択行を1行上に移動します。
↓/CTRL+X
選択行を1行下に移動します。
ROLL DOWN/CTRL+R 表示項を1項上に移動します。
ROLL UP/CTRL+C
表示項を1項下に移動します。
(リターン)
↵
現在の選択行をコマンド入力行にコピーしてウィ
ンドウをクローズします。
0, 1...9(数字キー)
左端の番号で選択した行をコマンド入力行にコピー
してヒストリ・ウィンドウをクローズします。
ウィンドウ・コマンド
6・ウィンドウ・コマンド
SHIFT + F3 (CA)
81
直前のヒストリ・バッファから現在のカーソル位置以降の文字列をコピーして
表示します。MS−DOSのテンプレート機能のF3キーと同じ機能です。
SHIFT + F6 (ExtSym)
シンボル拡張表示のウィンドウがオープンされシンボルの拡張表示をします。
コマンド入力行の最後の文字列から始まるシンボルを検索してウィンドウに表
示します。例えば、
>d cnt
とコマンド入力後、SHIFT+F6キーを押すとcntで始まるシンボル名
(cntd,cnt123,cnt_timeなど)を検索し表示します。
ウィンドウ内で反転表示されている行が現在の選択行になります。シンボル拡
張ウィンドウ内のキー操作はヒストリ・ウィンドウと同じです。
SHIFT + F8 (A11Can)
現在、編集している行のすべての文字を削除し、さらにヒストリ・バッファの
内容をすべて消去します。
ウィンドウ・コマンド
82
2-7 メモ
メモ内容(文字列)はコマンド・ウィンドウなどの行入力に使用できます。よ
く使う関数名や変数名などをメモ登録しておけば、このコマンドで簡単に呼出
しができます。
メモへの文字列の登録は、文字列選択(Sel)のローカル・コマンドやダイ
アログ・コマンドのMEMコマンドを使用します。
☞
【第6章-2-3 MEMコマンド】
SHIFTキーとCTRLキーを同時に押すと、ファンクション・キーの表示
が現在登録されているメモ文字列を表示します。
そこで目的の文字列表示されたファンクション・キーを押せばメモから文字列
がコマンド・ウィンドウの入力部分に表示/入力されます。
CTRL + SHIFT + F1
∼
CTRL + SHIFT +F10
メモ文字列を指定します。MEMコマンドで設定した文字列1から文字列10
をCTRL+SHIFT+ファンクション・キーで呼び出せます。
CTRL+SHIFT+F1がメモ1の文字列、CTRL+SHIFT+F2
がメモ2の文字列・・・CTRL+SHIFT+F10がメモ10の文字列に
それぞれ対応します。【 ☞ MEMコマンド】
ウィンドウ・コマンド
6・ウィンドウ・コマンド
83
2-8 その他のウィンドウ・コマンド
SHIFT +F10 (Option)
各種オプションの表示および変更を行います。このキーを押すとオプション表
示ウィンドウがオープンされ、各種オプションの状態が表示されます。この状
態で↑,↓キーでオプション項目を選択し(選択された項目は反転表示となり
ます)、→,←キーでオプション内容の変更ができます。ESCまたはリター
ンキーでこのウィンドウをクローズします。【 ☞ OPTIONコマンド】
ESC
実行中のプログラムの強制ブレーク、実行中のマクロ・コマンドやバッチ機能
の中止、検索の中止、インスペクト、ヘルプ、オプションメニューの終了など
に使用します。ほとんどのウィンドウ・コマンドはESCキーで中断または終
了することができます。
STOP / CTRL + C
Dコマンドなどで長い表示動作を行っているときや、T,Pコマンドでステッ
プ実行を繰り返し行っているときに、実行を中止します。
CTRL + S
コマンド・ウィンドウの表示を一時停止するために使用します。停止中に別の
キーを押すと表示が再開されます。
CTRL + P
コマンド・ウィンドウの表示出力をプリンタにも並行して出力します。このキー
は、プリンタ出力のON/OFFをトグル動作で切り換えます。
HELP
デバッグ画面を退避してヘルプ画面を表示します。このキーを押すと前回のダ
イアログ・コマンドのヘルプ表示をします。例えば、ダイアログ・コマンドで
入力エラーをした場合にこのキーを押すと目的のコマンドがヘルプ表示されま
す。インスペクトや文字列選択でこのキーを押すと、それぞれのローカル・コ
マンドがヘルプ表示されます。ESCキーを押すと、ヘルプ画面表示を終了し、
☞ HELPコマンド】
デバッグ画面に復帰します。【 ウィンドウ・コマンド
84
3
データ参照機能
実行/ブレークとともによく利用されるのがデータ参照/変更機能です。この
機能にはインスペクト、ウォッチ、ビュー機能があり、Cソースコード・デバッ
ガで最も強化されている部分です。特にインスペクト機能はコード・ウィンド
ウに表示されるソースファイルの変数、配列、構造体、共用体をカーソルで指
定するだけで、データ参照/変更できます。
デバッグ作業では、まず実行/ブレークコマンドで実行形式ファイルを目的の
位置まで実行させます。次に、データ参照/変更コマンドでそのときの変数の
状態を参照してバグの所在を探したり正常に動作していることを確認します。
そしてまた実行してデータを参照します。この繰り返しがデバッグ作業の大半
を占めます。バグが見つかればソースファイルを修正し、コンパイルしたもの
をロードして再び実行、データ参照・・・と繰り返しデバッグすることになり
ます。従って、いかに容易にかつ分かりやすいデータ参照機能があるかがデバッ
ガの優劣にそのままつながります。Cソースコード・デバッガのデータ参照機
能をよく理解してデバッグ作業を進めると、非常に快適なデバッグ環境を得る
ことが期待できます。
3-1 インスペクト機能
コード・ウィンドウに表示されるソースファイルの変数、配列、構造体、共用
体をカーソルで指定するだけで、その変数のデータ構造に従った形式で参照/
変更する機能をインスペクト機能といいます。
具体的には、カーソルをコード・ウィンドウに移し、参照/変更したいソース
ファイル上の変数にカーソルを合わせます。このときのカーソル位置は変数名
のどの部分にあっても構いません。次に、F6またはCTRL+Iキーを押し
インスペクト・ウィンドウの表示/消去
F6 (Inspct)/
CTRL +I
【 P.
☞ 89】
てください。すると、インスペクト・ウィンドウがオープンされ目的の変数の
データ構造にあった形で表示されます。ESCキーまたはもう一度F6または
CTRL+Iキーを押すとインスペクト・ウィンドウはクローズされます。イ
ンスペクト・ウィンドウにはスカラー、ポインタ、配列、構造体の4種類のタ
イプがあり、それぞれに表示形式あるいは使用できるローカルコマンドが違い
ます。【ローカル・コマンド 第6章-3-3】
☞
インスペクトできる変数(シンボル)は現在有効な変数に限ります。従って、
現在使っていない関数のローカル(局所)変数や、現在のプログラム・カウン
タが指しているソースファイル以外に記述されたスタティック(静的)変数は
インスペクトできません。
データ参照機能
6・ウィンドウ・コマンド
85
■ポインタのインスペクト
ポインタの値は、単にメモリ内のアドレス値の情報をもっているだけです。
ただし、そのアドレスに格納されている情報が意味をもちます。例えば、
char *p="MEC";
と記述されている場合、変数pは"MEC"文字列そのものではなく"MEC"文字列
が格納されているアドレス情報が入ります。
ポインタ属性を持った変数をインスペクトすると、その変数内容(アドレス値)
をアスタリスク(*)を付けた16進数で表示します。そして、そのポインタ
の第0要素(変数のアドレスで示されるメモリに格納されている情報)を表示
します。ポインタがキャラクタ属性の場合には、その要素が文字列として認識
してヌル(¥0)までの文字を要素として表示します。また、ポインタが構造
体の配列などの複数の要素を持ったものの場合には{ }でくくり、できるだ
け多くの内容を1行に表示します。
使用例
/* 整数のポインタ */
(int)ip=*1500
[0]=10
(0xA)
/* ポインタ要素 */
データ参照機能
86
(char)p=*1550 "MEC¥0"
/* キャラクタのポインタ */
[0]='M'
77(0x4D) /* 以下キャラクタ要素 */
[1]='E'
69(0x45)
[2]='C'
67(0x43)
[3]='¥0'
0(0x0)
■配列のインスペクト
配列はその名の通り複数の要素を持っています。さらに、2次元以上の多次元
の配列あるいは構造体の配列など多くのバリエーションがあります。これらを
配列のインスペクトでは合理的かつ容易に扱えます。
配列のインスペクトをするとその配列属性をキャスト形式で表示し、配列要素
を{ }でくくり、できるだけ多くの要素内容を表示します。そして、2行目
以降に配列要素の第0番目、1番目...n番目と各要素内容を表示します。
この要素に関しても構造体の配列など複数の要素を持ったものの場合には{ }
でくくり、できるだけ多くの内容を1行に表示します。
例えば2次元配列 int x[3][2] をインスペクトすると、以下のように表示されま
す。
使用例
(int [3][2])x={{1,2},{3,4},{5,6}} /* 配列のインスペクト */
[0]={1,2}
/* x[0]の要素の表示 */
[1]={3,4}
/* x[1]の要素の表示 */
[2]={5,6}
/* x[2]の要素の表示 */
多くの要素を持った配列を参照する場合には、ズーム機能により画面一杯に拡
大表示できます。【 第6章ー3ー3】
☞
データ参照機能
6・ウィンドウ・コマンド
87
■配列属性を持つ変数のインスペクト表示
データ参照機能
88
3-2 構造体と共用体のインスペクト
構造体(struct[ビットフィールドを含みます])と共用体(union)は複数
の異なるデータ構造(スカラー、ポインタ、配列、構造体、共用体などなん
でもよい)をもったものを1つにまとめ、それ自体を1つの新たなデータ構造
として扱うことができます。構造体や共用体を使うと、複雑なデータ構造も
非常に取り扱いやすくなり、バグが混入しにくく見やすいプログラムが書け
ます。
構造体/共用体をインスペクトすると、その属性をキャスト形式で表示し、
要素(メンバ)を{ }でくくってできるだけ多くの要素内容を表示します。
そして、2行目以降に要素名(メンバ名)と各要素内容を表示します。この
要素表示に関しても、構造体や配列など複数の要素をもったものの場合には
{ }でくくってできるだけ多くの内容を1行に表示します。例えば、3次元
の位置をあらわす x,y,z のメンバをもつ構造体を考えます。
struct point {
int x;
/* X座標 */
int y;
/* Y座標 */
int z;
/* Z座標 */
} p;
このとき、変数pをインスペクトすると以下のような表示になります。
(struct point)p = {x=10,y=20,z=30} /* 構造体のインスペクト */
(int)x = 10 (0xA)
/* 以下構造体要素の表示 */
(int)y = 20 (0x14)
(int)z = 30 (0x1E)
構造体と共用体は、属性表示が(struct 構造体名)になるか(union 共用体名)
になるかの違いだけで、表示形式はまったく同じです。
データ参照機能
6・ウィンドウ・コマンド
89
構造体属性をもつ変数のインスペク
ト表示
3-3 インスペクト・ウィンドウ内のローカル・コマンド
インスペクト・ウィンドウがオープンすると、変数内容がウィンドウに表示
されると共にファンクションキーの表示内容がインスペクト・ウィンドウ内
で使用できるローカル・コマンドに変更されます。このローカル・コマンド
を使って配列や構造体などの複数要素をもった内容を詳しく調べることがで
きます。配列や構造体の表示では以下のキー操作で要素の選択をします。現
在選択されている要素は反転表示します。
↑, CTRL+E
選択要素行を1行上に移動します。
↓, CTRL+X
選択要素行を1行下に移動します。
ROLL DOWN, CTRL+R
表示項を1項上に移動します。
ROLL UP, CTRL+C
表示項を1項下に移動します。
ESC
インスペクト・ウィンドウをクローズします。
データ参照機能
90
インスペクト・ウィンドウのローカル・コマンドは以下の7種類が用意され
ています。
F4 (Zoom)
Zoom
ウィンドウのズームイン/アウトをします。
16進,10進変換
ウィンドウ内表示基数変更をします。
Inspect
ウィンドウ内インスペクトをします。
Watch
ウォッチ登録します。
Range
配列/ポインタの表示範囲変更をします。
Change
インスペクトした変数値の変更をします。
ポインタ、配列あるいは構造体のインスペクト時にそのウィンドウを画面一杯
に広げます。要素数の多い配列などを参照するのに非常に便利です。また、画
面一杯に広がった状態でこのキーを押すとウィンドウは元のサイズに戻ります。
F5 (16<>10) スカラー表示では10進法と16進法の両方の値が表示されます。しかし、複
数要素を持った配列や構造体では1行にできるだけ多くの要素を表示するため
に10進(デフォルト)あるいは16進のいずれか一方しか表示しません。こ
の基数をF5キーで変更します。
F6 (Inspct)/
CTRL + I / I
(uint [3])abc={4096, 32768, 65535}
/* 10進表示 */
(uint [3])abc={1000, 8000, FFFF}
/* 16進表示 */
カーソルキーによって選択された配列や構造体の要素(反転表示)を新しく開
いたインスペクト・ウィンドウに表示します。
ESCキーにより1レベルずつインスペクト・ウィンドウを閉じます。
F7 (Watch)/
CTRL + W / W
インスペクトした変数あるいは選択した要素をウォッチ・ウィンドウにウォッ
チ登録します。【ウォッチ機能 第6章-3-4】
☞
データ参照機能
6・ウィンドウ・コマンド
91
F8 (View)/
CTRL + V / V
インスペクトした変数あるいは選択した要素をコマンド・ウィンドウにビュー
F9 (Range)/ R
配列あるいはポインタの表示要素番号とその最大要素番号を変更します。
表示します。【ビュー機能 第6章-3-5】
☞
このキーを押すと、参照する要素番号を入力するウィンドウが開き、反転表
示で現在の表示要素と最大要素番号が表示されます。ここで表示要素番号と
最大表示要素番号(省略可)を入力してください。入力時には、シェル機能
のヒストリや行編集機能の使用が可能です。
このコマンドは大きな配列の中を参照する場合やポインタの前後の領域を参
照するのに非常に便利な機能です。
F10 (Change)/ C
インスペクトした変数あるいは選択した要素の値を変更します。このコマン
ドで変更できる変数はスカラー(char,intなど)属性かポインタ属性を持った
ものに限られます。
このキーを押すと変更する数値(式)を入力するウィンドウが開きます。こ
こでCの式や数値を入力し、それを評価してエラーがなければその値(場合
によっては型変換された値)に変数値を変更します。入力時には、シェル機
能のヒストリや行編集機能の使用が可能です。
データ参照機能
92
3-4 ウォッチ機能
デバッグを進める中で特に重要な変数や配列あるいは式の最新値を常にウォッ
チ・ウィンドウに表示する機能をウォッチ機能といいます。Cソースコード・
デバッガではこのウォッチ登録をするために2つの方法を用意しました。1
つはウィンドウ・コマンドからの登録(インスペクトや文字列選択のローカ
ル・コマンドからも登録可能)、もう1つはダイアログ・コマンドのWコマ
ンドによる登録です。ここではウィンドウ・コマンドからの登録について説
明します。
ウォッチ登録
CTRL + F7 (Watch)/
CTRL + W
ウォッチ登録は、カーソルをコード・ウィンドウに移し、ウォッチ登録した
い変数に合わせ、CTRL+F7またはCTRL+Wキーを押して行います。
ウォッチ登録を行うとその変数名とその内容(値)がウォッチ・ウィンドウ
に表示されます。ウォッチ登録したものが構造体の配列などの複数の要素を
持ったものの場合には、{ }でくくってできるだけ多くの内容を1行に表
示します。
ウォッチ登録の削除はダイアログ・コマンドのYコマンドを使用します。
・ ローカル(局所)変数をウォッチ登録するには、そのローカル変数の
宣言されている関数内にプログラム・カウンタがある場合のみ可能で
す。また、そのウォッチ登録されたローカル変数のスコープ(使用可
能範囲)は当然、宣言されている関数内に限られます。従って、プロ
グラム・カウンタがその関数外へ移るとウォッチ登録された変数の表
示は‘????’に変わります。
・ スタティック(静的)変数に関してもスコープがあり、ローカル変数
と同様にプログラム・カウンタがスコープ外へ移るとウォッチ登録さ
れた変数の表示は‘????’に変わります。
データ参照機能
6・ウィンドウ・コマンド
93
3-5 ビュー機能
カーソルで指定した変数や式の値をコマンド・ウィンドウに表示する機能をビュー
ビュー
CTRL + F8 (View)/
CTRL + V
機能といいます。ビューの操作は、カーソルをコード・ウィンドウに移し、ビュー
したいシンボルにカーソルを合わせ、CTRL+F8またはCTRL+Vキー
を押して行います。ビューするとコマンド・ウィンドウの最終行に目的の変数
とその内容が表示されます。配列や構造体などの複数の要素を持ったものをビュー
すると、{ }でくくりできるだけ多くの内容を1行に表示します
ビューは現在の変数状態を一時的に記録できるため、後で変数の変化の過程を
チェックしたりするのに便利です。インスペクトおよび文字列選択(Sel)
ローカル・コマンドにもビュー機能があります。
ビューできる変数は現在有効な変数に限ります。従って、現在使ってい
ない関数のローカル(局所)変数や、現在のプログラム・カウンタのあ
るソースファイル以外で定義されたスタティック(静的)変数はビュー
できません。これらの制約はインスペクト可能な変数の制約と同様です。
データ参照機能
94
7
第 章
ダイアログ・コマンド
1.ダイアログ・コマンドの使用規則
2.プログラム・ロード/実行
3.イベント関連コマンド
4.その他のハードウェア関連コマンド
5.パフォーマンス測定
6.データ表示/変更
7.コード表示/変更
8.ウォッチ表示
9.システム制御コマンド
10.その他のコマンド
96
1
ダイアログ・コマンドの使用規則
1-1 コマンド解説の規約
Cソースコード・デバッガのコマンドは、コマンド名とパラメータリストによっ
て構成されます。(パラメータは、省略できる場合もあります。省略できるパ
ラメータに関してはカギかっこ([...])で示します。2通り以上の選択
要素がある場合は、中かっこ({...|...})と| で選択要素を記述し
ます。)
パラメータが省略された場合は、Cソースコード・デバッガの初期値や以前実
行したコマンドの続きの値などが用いられます。
,
パラメータの区切り
[. . . ]
省略可能
{A|B}
A,Bの選択要素
ABCD
下線はキー入力を表わす
1-2 コマンドの入力書式
ダイアログ・コマンドは、コマンド・ウィンドウにプロンプトが表示され
ているときに入力できます。ただし、マクロの入力時にはマクロ入力要求
プロンプト(?)が、トレース表示コマンドTD(U)コマンドを入力し
た場合にはサブ・プロンプト(*)が表示されます。
Cソースコード・デバッガのコマンド入力書式は次のとおりです。
<コマンド名> [<パラメータ>]
↵
<コマンド名>は1文字以上の文字列で構成されます。<パラメータ>は、コ
マンドが使用するアドレスやデータを表わす数値、演算式、シンボル、行
番号、レジスタ名などです。コマンドやパラメータには、大文字と小文字
を混ぜて使用しても構いません。パラメータの数はコマンドによって異な
ります。パラメータが複数の場合は、カンマ(,)でパラメータを区切りま
す。また、コマンドとパラメータの間は原則的にスペースで区切ります。
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
97
1-3 Cソースコード・デバッガで扱えるシンボル
Cソースコード・デバッカは、グローバル(プログラムの全領域で有効な)シ
ンボルとローカル(関数内でのみ有効な)シンボル(局所変数や静的変数のシ
ンボル)の2種類のシンボルを扱うことができます。
■グローバルシンボル
グローバルシンボルは、逆アセンブルのラベルやアドレス入力時のアドレ
ス値の代わりに利用されます。Cのextern変数や関数名がグローバルシンボ
ルに登録されます。
CPUのレジスタ名と同じ名前のシンボルがあった場合、レジスタ名が優
先されます。従って、レジスタ名と同名のシンボルは参照できません。
Cでは、一般に変数名や関数名の前あるいは後にアンダースコア(_)
を付けたシンボル名になっています。しかし、グローバルシンボルを入
力するたびにアンダースコアを入力するのは不便なため、Cソースコー
ド・デバッガではグローバルシンボルの前後のアンダースコアを省略可
能に設計してあります。
また、大文字と小文字を区別するかしないかを指定できます。
☞
【 OPTIONコマンド、SHIFT+F10(Option)】
例えば、_mainという名前のグローバルシンボルがある場合、
使用例
>u
>u
_main
main
/* _main シンボル値からの逆アセンブル表示 */
/* 上と同じ */
ダイアログ・コマンドの使用規則
98
さらに、グローバルシンボルは、Cソースコード・デバッガ内部の変数
(多くの場合はIFコマンドやマクロ・コマンドで使用されます)として
の機能も持っています。
使用例
>i=0x10
シンボルを登録しました
>while{ i!=0
? T
? i=i-1
?}
/*1 行目 */
/*2 行目 */
/*3 行目 */
/*4 行目 */
/*5 行目 */
1.シンボル名iに0x10を代入(iが未定義のシンボル名の場合にはi
をシンボル登録します)します。
2.シンボルiの値と0との比較を行ないます。
3.iが0以外の場合、Tコマンドでシングルステップ実行します。
4.iの値から1を引いた値をiに代入します。
5.whileコマンドの終了を意味しています。この行が実行されると再び
whileコマンドの条件判断を行います。
このコマンドを実際に実行すると、Tコマンドを16回実行してwhileコマ
ンドのループを抜け出します。
上に挙げた例では、シンボルiはCの変数と同じように扱っています。こ
のとき使用するシンボル名は、既に登録されているグローバルシンボルや
ローカルシンボル名と重ならないようにしてください。
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
99
■ローカルシンボル
ローカルシンボルは、Cの自動変数や関数の引数などその関数内だけで有
効な変数とスタティック(静的)宣言された変数のシンボル(名前)で
す。ローカルシンボルは、通常デバッグ情報の読み込み時に自動的に登録
されます。
ローカルシンボルは、アドレス値以外にローカルシンボルのスコープ(有
効範囲)、属性(char,int,long,doubleなど)の情報を持っています。
【 インスペクト機能、?コマンド、VALコマンド】
☞
■ 特殊シンボル
_ _ERR_ _
特殊シンボル_ _ERR_ _は前回実行したコマンドでエラーが発生した場
合には1となり、正常にコマンドを実行した場合には0となります。
_ _ERR_ _はマクロ・コマンド内でのエラー処理に利用することができ
ます。
_ _RUN_ _
特殊シンボル_ _RUN_ _はユーザ・プログラム実行中は1になります。
停止中は0になります。このシンボルは、マクロ内でユーザ・プログラムのブ
レーク待ちの処理などに利用できます。
ダイアログ・コマンドの使用規則
100
1-4 Cソースコード・デバッガで扱える数値
Cソースコード・デバッガは、2/8/10/16進数を扱うことがで
き、数値の前に基数を示す記号を付けて区別します。基数を示す記号を省
略した数値は、Nコマンドで指定した基数指定により扱いが変わります。
【 Nコマンド】
☞
表 記
基 数
@<数値>
2進数
¥<数値>
8進数
_<数値>
10進数
$<数値>
16進数
0x<数値>
16進数
数値
基数指定に従う(16進数,10進数)
例えば@11001010、¥312、_202、$CA、0xCA はすべて
同じ数値を表わしています。
この他に、4、8バイトの実数(IEEEフォーマット)を扱うためのコ
マンド(DS、DLなど)もあります。
■ アドレス
Cソースコード・デバッガでは、アドレス書式は以下の通りです。
XXXXXXXX
アドレス(32ビット)
例
>D 80001234
各コマンドのパラメータとしてアドレスを指定する部分には、シンボル名や次
に説明する行番号が入力できます。
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
101
■ 行番号
Cソースコード・デバッガでは、ソースファイルの行番号を使ってソースレベ
ルでデバッグ作業を行えます。
行番号は、ソースファイル中の目的の行を指定するために使用されます。行番
号は、ロードされた実行形式ファイルにソース行情報が含まれている場合にの
み有効です。
行番号の入力形式には、次に示す3通りがあります。
形式1
[<ファイル名>:]<行番号>
形式2
±<行番号>
形式3
<シンボル>±<行番号>
行番号は10進数(<行番号>)とファイル名あるいはシンボル名を組み合わ
せた形でユーザ・プログラムの特定のソース行を指定します。
形式1は、絶対行番号を示します。<ファイル名>が入力された場合は、指定ファ
イルの第何行め(<行番号>)といった指定となります。<ファイル名>が省略さ
れたときには、カレント・ファイル(現在、コード ・ウィンドウに表示されて
いるファイル)の第何行目(<行番号>)という指定になります。
>v .100
/* 現在の選択されているソースの100行目の指定 */
>v . test:120
/* test.cの120行目の指定 */
形式2は、現在のプログラム・カウンタの指すソース行からの相対位置を示す
指定方法です。
+<行番号>の場合は、現在のソース行よりも<行番号>分後ろの行を指し、
−<行番号>の場合は、現在のソース行よりも<行番号>分前の行を指します。
ただし、形式2の行番号指定で現在のプログラム・カウンタに対応するソース
行がない場合には入力エラーとなります。
>v .+10
/*プログラム・カウンタの指すソースから10行目の指定 */
ダイアログ・コマンドの使用規則
102
形式3は、指定した<シンボル>のアドレス値に対応するソース行からの相対位
置を示す指定方法です。+<行番号>の場合は、対応するソース行よりも<行番
号>分後ろの行を指し、−<行番号>の場合は、対応するソース行よりも<行番号
>分前の行を指します。このとき指定された<シンボル>に対応するソース行が
ない場合は入力エラーになります。
>bp . main+10
/* mainシンボルから10行目の指定 */
■ 文字列(ストリング)
Cソースコード・デバッガでは、数値の代わりに文字列(アスキー・コードで)
を扱うことができます。文字列はシングル・クォーテーション( ' )で文字を
囲んだ形で表現します。
例
'A'
= 0x41
'AB' = 0x4142
'ABCD' = 0x41424344
E/EBコマンドのデータ入力モード(コマンドラインでのデータ指定を省略
してリターンキーを押したとき)の場合、最大16文字までの文字列を一度に
設定できます。
> E 1000
address asc oct dec hex data
00001000 .
000
0 00 '1234567890abcd'
00001010 . . . . . . . . . . . . . . . . .
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
103
■ レジスタ名
Cソースコード・デバッガではレジスタの内容を変数として取り扱うことができます。
使用できるレジスタ名は、以下の通りです。
フラグ名
レジスタ名
CF(キャリー・フラグ)
D 0 ,D1,D2,D3
(データレジスタ)
ZF(ゼロ・フラグ)
A0,A1,A2,A3
(アドレスレジスタ)
NF(ネガティブ・フラグ)
VF(オーバフロー・フラグ)
MDR(乗除算レジスタ)
IE(割込みイネーブルフラグ)
PC(プログラム・カウンタ)
IM0、IM1、IM2
(割込みマスクレベル)
SP(スタックポインタ)
LIR(分岐先命令レジスタ)
LAR
(命令フェッチアドレスレジスタ)
PSW(プロセッサステータスワード)
使用例
>while {_D0 != _D1
/* D0レジスタとD1レジスタの内容比較*/
?
/* シングルステップ実行コマンド*/
?}
T
/* マクロ終わり*/
>
この例ではD0とD1のレジスタ値が同じになるまでT(シングルステッ
プ実行)コマンドを実行します。レジスタ名と同名のシンボルがある場
合、レジスタ名が優先されます。
ダイアログ・コマンドの使用規則
104
1-5 演算式
演算式は、数値、シンボル、レジスタおよび関数の引数を演算子で組み合せた
もので、1つの値をもちます。Cソースコード・デバッガはC言語と同等の数
値、論理演算子をもっています。
また、演算式は各コマンドで値(データ、アドレス)を指定するすべての箇所
で使用できます。
演算式に利用できる単項演算子、2項演算子には以下のものがあります。
(1)単項演算子
*
+
−
~
指定アドレスの32ビットデータ(ポインタまたはロングワー
ド)
単項プラス
単項マイナス
NOT(1の補数)
!
論理否定
(2)2項演算子
優先順位 演算子
(1)
(2)
(3)
(4)
*
/
%
+
−
>>
<<
<=
>=
(5)
(6)
(7)
(8)
(9)
(10)
<
>
==
!=
&
^
|
&&
||
内容
乗算
除算
モジュロ演算(剰余)
加算
減算
右シフト
左シフト
比較演算
(右辺が左辺より大きいか等しいとき1、その他0)
比較演算
(右辺が左辺より小さいか等しいとき1、その他0)
比較演算(右辺が左辺より大きいとき1、その他0)
比較演算(右辺が左辺より小さいとき1、その他0)
比較演算(右辺が左辺と等しいとき1、その他0)
比較演算(右辺が左辺と等しくないとき1、その他0)
AND
XOR
OR
論理AND
論理OR
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
105
演算子の左の数字は演算の優先順位です。隣りあった演算子の優先順位が同
じ場合には、式は左から右へ評価を行います。ただし、かっこを付けること
により、式の優先順位を変えることができます。
また、比較演算や論理AND,論理OR演算はマクロ(FOR,WHILEコマン
ドなど)や条件判断処理コマンド(IFコマンドなど)の条件判断処理のため
に用意されています。また、比較演算、論理AND,論理OR命令は、下位
16ビットだけで演算処理をします。
使用例
>h -(1+2*3)
oct
dec
37777777771
-7
hex
FFFFFFF9
asc
'. . . .'
float
-6.805644e+38
(3)システム関数
VAL(Cの式)
かっこ内をCの式として評価します。
ダイアログ・コマンドの使用規則
106
1-6 C言語レベルでのデータ表現
前節までは、グローバルシンボルやローカルシンボルまたは行番号情報を、
単にアドレス値として処理する(演算する)式に関して説明しました。これ
らの式はほとんどのダイアログ・コマンドで使用できます。しかし、デバッ
グ対象となるユーザ・プログラム中の式は、当然Cの規約で記述されている
ためにこれらの式を扱うには充分ではありません。そこで、Cソースコード・
デバッガでは、Cの式をそのまま扱えるウィンドウ・コマンドおよびダイア
ログ・コマンドを用意しています。具体的には、インスペクト関連のコマン
ド、ウォッチ登録コマンド、VALコマンド、?コマンドでCの式がCの文
法同様に取り扱えます。
■ Cの式
C言語レベルでの記述と前節で説明した式の表現では、同じ式を記述しても
その評価が異なります。この違いをCのグローバル変数 abc を例に説明しま
す。
使用例
/* 変数 abc のアドレスよりメモリ表示*/
>d abc
00001000 00 01 02 03 . . . . 0D 0E 0F . . . . . . . . . . . . . . .
>d abc+10
/* 変数 abc のアドレス +10 よりメモリ表示*/
00001010 10 20 30 40 . . . .D0 E0 F0 . 0@P . . . . . . . . .
>? abc
(int )
/* 変数 abc の値を表示 (Cの式として評価)*/
1
>? abc+10
11
(int )
(0x1)
/* abc の値 +10 を表示 (Cの式として評価)*/ (0xB)
この例からもわかるように同じ abc や abc+10 の記述をしても通常の式(上
の例ではDコマンド)とCの式(上の例では?コマンド)ではその意味が異
なります。
インスペクト、ウォッチ、VALコマンド、?コマンドでは、abc をC言語
レベルの変数として評価します。その他のコマンドでは、変数 abc のアドレ
スとして評価します。
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
107
■ Cの変数
Cの式の中で使用可能な変数または関数は、詳細なデバッグ情報を付けるオ
プションでコンパイルされたソースファイル内で宣言されているものに限り
ます。レジスタおよびフラグは疑似変数として使用できます。すべてのレジ
スタ疑似変数およびフラグ疑似変数は、unsigned int の型(属性)を持ちま
す。
レジスタ疑似変数
_D0 , , , _D3
_A0 , , , _A3
_MDR
_PC
_SP
_LIR
_LAR
_PSW
フラグ疑似変数
Z
N
−
C
−
V
−
IM
−
IE
−
−
■ Cの変数スコープ
Cのプログラム作成やデバッグにおいては、変数のスコープ(使用可能範囲)
を意識しなくてはなりません。例えば、extern宣言された変数はすべてプロ
グラム領域で有効です。すなわち、スコープは全プログラム領域です。一方、
関数内で宣言された自動変数はその関数内でのみ有効です。従って、スコー
プはその関数内となります。
extern宣言された変数と関数で宣言された自動変数が同じ名前の場合、関数
内では自動変数のみ有効で extern変数はアクセスできません。また、現時点
で使用していない関数の自動変数は見ることができません。
Cソースコード・デバッガでは、このような処理をデバッグ情報から得たス
コープ情報により自動的に処理します。
ダイアログ・コマンドの使用規則
108
■ 定数
Cの文法と同一の仕様です。(デフォルトの基数はNコマンド(基数変更コ
マンド)の設定にかかわらず常に10進数となります。)
表 記
基 数
数字
0x数字
0X数字
0数字
10進定数
16進定数
16進定数
8進定数
例えば、4096(10進数),0x1000(16進数),010000(8進数)はすべ
て同じ値を表しています。
文字定数については以下のCのエスケープシーケンスをサポートしています。
Cの文字
数値
意 味
'¥a'
'¥b'
'¥f'
'¥n'
'¥r'
'¥t'
'¥v'
'¥¥'
'¥nnn'
'¥xnn'
0x7
0x8
0xC
0xA
0xD
0x9
0xB
0x5C
nnn
nn
ベル
バックスペース
フォームフィード
ラインフィード
リターン
水平タブ
垂直タブ
¥(円)記号
8進数(8ビット)
16進数(8ビット)
ダイアログ・コマンドの使用規則
7・ダイアログ・コマンド
109
■ 演算子
Cと同一の演算子をサポートしています。ただし、浮動小数点に関しては=
演算子(代入演算)以外の演算子を使うことができません。
各演算子の優先順位は以下の通りです。
優先順位
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
演算子
関数(n) 配列[n] n.n n−>n n++ n −−
&n *n −n ~ n !n ++n −−n sizeof n
(キャスト)n
n%n n/n n*n
n+n n−n
n<<n n>>n
n>n n<n n>= n n<=n
n== n n!= n
n&n
n^n
n n
n&&n
n n
nn?nn:nn
n= n n*=n n/ =n n% =n n+=n n−=n n<<=n n>>=n n&=n n^=n
n =n
n, n
演算子の左の数字は演算の優先順位(数字が小さいほど優先順位が高い)で
す。隣り合った演算子の優先順位が同じ場合には、式は左から右へ評価を行
います。ただし、代入演算子(優先順位(15))のみ右から左に評価しま
す。かっこを付けることにより、式の優先順位を変えることができます。
ダイアログ・コマンドの使用規則
110
■ 副作用のある式
++, --, = などの代入演算子および関数呼び出しの場合、演算処理中にデバッ
グ対象のユーザ・プログラムの変数内容などのデータを変更してしまう副作
用があります。代入演算子を使ってデータを変更したい場合もあるでしょう
が、ほとんどの場合、デバッグ中はデータを参照するだけで変更は比較的少
ないでしょう。そこでCソースコード・デバッガはインスペクト、ウオッチ、?
コマンドで誤って式の評価の途中でデータ変更を起こさないように、副作用
のある演算子を禁止しています。唯一、VALコマンドのみ、副作用のある
演算子が使用できます。
・データを参照する場合はVALコマンドを使用せずに?コマンドやイン
スペクトを使用してください。データを変更する場合など副作用のある
演算子を使用する場合にのみVALコマンドを使用するようにしてくだ
さい。
使用例
>? abc=1234
副作用のある演算子は使用できません
>val abc=1234
/*abcに1234を代入 */
(int
)
1234
ダイアログ・コマンドの使用規則
(0x4D2)
7・ダイアログ・コマンド
コマンド・インデックス
各コマンドの頭文字のアルファベット順の
インデックスです。
111
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
112
2
プログラム・ロード/実行
ユーザ・プログラムをロードする(読み込む)コマンドとしてL,LP、実
行するコマンドとしてT,P,Gのダイアログ・コマンドが用意されていま
す。
Lコマンド、LPコマンド
デバッグ対象のプログラム(EX形式ファイル)をメモリにロードします。
RDコマンド
モトローラS形式、インテルHEX形式、バイナリ形式のファイルをメモリ
にロードします。
WRコマンド
メモリの内容をモトローラS形式、インテルHEX形式、バイナリ形式でファ
イルに書き込みます。
Tコマンド
コード・ウィンドウがソース表示の場合は、ソース行単位のステップ実行を
します。逆アセンブラ表示の場合には、命令単位のステップ実行をします。
サブルーチン(関数)の中もステップ実行します(シングルステップ実行)。
Pコマンド
コード・ウィンドウがソース表示の場合は、ソース行単位のステップ実行を
します。逆アセンブラ表示の場合には、命令単位のステップ実行をします。
サブルーチン(関数)は1ステップとして実行します(関数ステップ実行)。
Gコマンド
ユーザ・プログラムを実行します。
RESETコマンド
マイコンのリセットを行います。
プログラム・ロード/実行
7・ダイアログ・コマンド
113
各実行コマンドによって変化した状態を反映して画面が更新されます。コー
ド・ウィンドウには現在のプログラム・カウンタの位置を黄色の反転表示で
示します。レジスタ・ウィンドウには現在の各レジスタ内容を表示します。
ウォッチ・ウィンドウやオプション・ウィンドウもその状態の変化に応じて
表示内容が更新されます。
プログラム・ロード/実行
114
L / LP
:実行形式ファイルロード
L [<ファイル名>]
LP [<ファイル名>]
実行形式ファイル(EX形式ファイル)をメモリ(エミュレーションメモリ,ター
ゲットメモリ,内蔵命令RAMのいずれか)に読み込みます。ファイル読み込み中
には、コマンド・ウィンドウにピリオド ”.”が表示され、デバッグ情報の処理中に
はシャープ ”#”が表示されます。ファイル読み込みを途中で中止したい場合はES
Cキーを押してください。中断か続行かの確認メッセージが出ます。続行を選択する
とそのまま読み込みを続けます。
L
[<ファイル>]
1.実行形式ファイルをロードします。
デバッグ情報(シンボル情報、ソースライン情報)がある場合は、自動的
にデバッグ情報領域に読み込みます。デバッグ情報がない場合には、メッ
セージを表示して実行形式のファイルだけを読み込みます。Lコマンドで
デバッグ情報が読み込まれる場合は、登録されているデバッグ情報はすべ
て削除され、新しいデバッグ情報が登録されます。
2.Lコマンドでは、既に設定されているブレーク・イベント設定およびウォッ
チ登録の解除、トレース機能、時間測定機能、プロファイル機能の初期化、
ユーザCPU(マイコン)のリセットを行います。
Lコマンドでロードしたファイルにソースライン情報が含まれている場合、
コード・ウィンドウはソース表示となります。
LP
[<ファイル>]
LPコマンドは、指定された実行形式のコード・データ部分だけを読み込み、
マイコンのリセットを行います。
・<ファイル名>の指定を省略した場合、前回のL/LPコマンドで指
定した同じ名前のファイルを読み込みます。
・モトローラS形式、インテルHEX形式、バイナリ形式ファイルを読み
込む場合は、RDコマンドを使用してください。
・実行形式ファイルロード後に、環境変数PANASRCが設定されてい
る場合は、その環境変数で指定されたディレクトリ内のソースファイル
を表示します。設定されていなければ、カレント・ディレクトリ内のソー
スファイルを表示します。
【 RDコマンド、WRコマンド】
☞
プログラム・ロード/実行
7・ダイアログ・コマンド
RD
115
:ファイルをメモリに読み込む
RD <ファイル名 {.S|.HEX}>
RD <ファイル名>,<アドレス>
R D
<ファイル{.S|.HEX}>
指定されたデータやプログラムをモトローラS形式、インテルHEX形式で読み込みま
す。
ファイルの拡張子が ″S″の場合はモトローラS形式ファイル、 ″HEX″の場合は
インテルHEX形式ファイルとして扱います。
RD
<ファイル>,<アドレス>
指定されたデータやプログラムを指定されたアドレスにバイナリ形式で読み込みます。
ファイル名の拡張子は″S″,″HEX″以外を指定してください。
EX形式ファイルを指定することはできません。
使用例
>rd sample.s
Read SAMPLE.S
80000000 - 80000FFF
Complete
>
【 ☞ WRコマンド、Lコマンド】
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
プログラム・ロード/実行
116
WR
WR
:ファイルに書き込む
<ファイル名>,<アドレスS>,<アドレスE>
<アドレスS>から<アドレスE>の範囲のメモリの内容をファイルに書き込みます。
ファイル名の拡張子によって、モトローラS、インテルHEX、バイナリのファイル
形式を選択します。
拡張子
ファイルの形式
″S″
モトローラS形式
″HEX″
インテルHEX形式
″S″,″HEX″以外
バイナリ形式
EX形式ファイルを指定することはできません。
使用例
>wr sample.s,80000000,80000fff
Write SAMPLE.S at 80000000-80000FFF
>
☞ Lコマンド、RDコマンド】
【 プログラム・ロード/実行
7・ダイアログ・コマンド
T
117
:ユーザ・プログラムのシングルステップ実行
T [<回数>]
Tコマンドは現在のプログラム・カウンタの示すアドレスから<回数>で指定された回
数分シングルステップ実行します。<回数>の指定は基数により、10進あるいは1
6進指定になります。Pコマンドとの違いは、呼び出し関数(サブルーチン)の内部
も1ステップずつ実行を行うことです。
【 ☞ Nコマンド】
<回数>には最大65535までの回数を指定できます。(<回数>が省略された場合には、<回
数>=1とみなします。)
コード・ウィンドウがCソース表示の場合にはソース行単位で1ステップずつ実行し、
逆アセンブラ表示の場合には命令単位で1ステップずつ実行をします。
ソース単位のシングルステップ実行では現在の関数から呼び出される関数内もシング
ルステップ実行します。
ソース単位でのシングルステップ実行はコマンド・ウィンドウに何も表示しませんが、
命令単位では1ステップ分シングルステップ実行するたびにコマンド・ウィンドウに
レジスタ内容を表示します。
・ マイコンがSTOP/HALT/SLEEPモードではシングルステッ
プ実行できません。実行させる場合にはマイコンのCPUMレジスタを
書き換えた後に行ってください。
・ シングルステップ実行するとトレースメモリの内容は消去されます。
T
W
プログラム・ロード/実行
118
使用例
>t
—— IM=0 S=0
PSW=0000
PC =80000000
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=40000000 LAR=00000000 SP =00000100
mov 2000 _i ,a0
>t
—— IM=0 S=0
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000006
MDR=00000000 LIR=80000000 LAR=00000000 SP =00000100
mov a0,sp
>t
—— IM=0 S=0
PSW=0000
PC =80000008
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000006 LAR=00000000 SP =00002000
add -0C,sp
>t 5
—— IM=0 S=0
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =8000000B
MDR=00000000 LIR=80000008 LAR=00000000 SP =00001FF4
mov 2014,d1
—— IM=0 S=0
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000011
MDR=00000000 LIR=8000000B LAR=00000000 SP =00001FF4
cmp 0,d1
—— IM=0 S=0
PSW=0000
PC =80000013
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000011 LAR=00000000 SP =00001FF4
ble 80000022
—— IM=0 S=0
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000015
MDR=00000000 LIR=80000013 LAR=00000000 SP =00001FF4
mov 0,a0
—— IM=0 S=0
PSW=0000
PC =8000001B
clr
d0
>
プログラム・ロード/実行
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000015 LAR=00000000 SP =00001FF4
7・ダイアログ・コマンド
P
119
:ユーザ・プログラムの関数ステップ実行
P [<回数>]
Pコマンドは現在のプログラム・カウンタの示すアドレスから<回数>で指定された回
数分関数ステップ実行します。<回数>の指定は基数により、10進あるいは16進
指定になります。Tコマンドとの違いは、呼び出し関数を1ステップとして実行を行
うことです。
☞
【 Nコマンド】
<回数>には最大65535までの回数を指定できます。(<回数>が省略された場合に、<回
数>=1とみなします)
コード・ウィンドウがCソース表示の場合にはソース行単位で1ステップずつ実行し、
逆アセンブラ表示の場合には命令単位で1ステップずつ実行します。
ソース単位のステップ実行では現在の関数内で関数ステップ実行します。(現在の関数
から呼び出される関数は復帰するまでを一度に実行します。)従って、現在の関数から
呼び出される関数は見かけ上1行の命令とみなして実行します。一方、命令単位のステッ
プ実行ではサブルーチンコールの命令を1命令とみなして実行します。
ソースレベルでの関数ステップ実行はコマンド・ウィンドウに何も表示しませんが、命
令単位では1ステップ分関数ステップ実行するたびにコマンド・ウィンドウにレジスタ
内容を表示します。
・ マイコンがSTOP/HALT/SLEEPモードでは関数ステップ実
行できません。実行させる場合はCPUMレジスタを書き換えた後に行っ
てください。
・ 関数ステップ実行するとトレース・メモリの内容は消去されます。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
プログラム・ロード/実行
120
使用例
>p
—— IM=0 S=0
PSW=0000
PC =80000000
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=40000000 LAR=00000000 SP =00000100
mov 2000 _i ,a0
>p
—— IM=0 S=0
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000006
MDR=00000000 LIR=80000000 LAR=00000000 SP =00000100
mov a0,sp
>p
—— IM=0 S=0
PSW=0000
PC =80000008
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000006 LAR=00000000 SP =00002000
add -0C,sp
>p 5
—— IM=0 S=0
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =8000000B
MDR=00000000 LIR=80000008 LAR=00000000 SP =00001FF4
mov 2014,d1
—— IM=0 S=0
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000011
MDR=00000000 LIR=8000000B LAR=00000000 SP =00001FF4
cmp 0,d1
—— IM=0 S=0
PSW=0000
PC =80000013
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000011 LAR=00000000 SP =00001FF4
ble 80000022
—— IM=0 S=0
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000015
MDR=00000000 LIR=80000013 LAR=00000000 SP =00001FF4
mov 0,a0
—— IM=0 S=0
PSW=0000
PC =8000001B
clr
d0
>
プログラム・ロード/実行
D0 =00000000 D1 =00002014 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000015 LAR=00000000 SP =00001FF4
7・ダイアログ・コマンド
G
121
:ユーザ・プログラムの実行
G [=<アドレスS>][,<アドレスB>][,/W]
G@ [,/W]
Gコマンドはユーザ・プログラムを実行します。Gコマンドでは1か所の一時的なソ
フトウェア・ブレーク(<アドレスB>)を指定できます。BPコマンドで指定された
ブレーク・ポイントも有効です。また、ESCキーによって随時ユーザ ・プログラ
ムの実行を中断(強制ブレーク)できます。
G
[ = <アドレスS>]
[,<アドレスB>][ ,/W ]
G
[ <アドレスB> ][ ,/W ]
G @ [ ,/W]
Gコマンドは<アドレスS>(実行開始アドレス)で示されるアドレスより
ユーザ・プログラムの実行を開始し、<アドレスB>で示されるアドレスで
停止します。<アドレスB>は一時的なソフトウェア・ブレークです。
現在の プログラム・カウンタ値で示されるアドレスよりユーザ・プログラム
の実行を開始し、<アドレスB>で示されるアドレスで停止します。
CのデバッグモードでCソースコード・デバッガを起動したときのみ有効な
書式です。G@コマンドによってデバッグプログラムを実行した場合には、
現在実行中の関数をリターンしたところで停止します。ウィンドウ・コマン
ドの CTRL + F5(Return)キーと同様の機能です。
/W
オンザフライを禁止してユーザ・プログラムを実行しま
す。つまり、ユーザ・プログラムが実行された後、停止
(ブレーク)するまで次のコマンドを受け付けません。
また画面の更新もされません。マクロ内でユーザ・プロ
グラム停止後、次のコマンドを開始するような場合に有
効です。
参考
・プログラム実行中は、コマンド・ウィンドウと、コード・ウィンドウ
との区切りの所に“ターゲット実行中”と表示します。
・Cソースコード・デバッガには、ユーザ・プログラムの実行に要した
時間を測定する時間測定機能が内蔵されています。
【 T Iコマンド】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
プログラム・ロード/実行
122
マイコンがSTOP/HALT/SLEEPモードではユーザ・プログラムを
実行することができません。この場合、RESETコマンドを実行するか、E
コマンドでマイコンのCPUMレジスタを書き換えた後に実行してください。
使用例
>reset
>g cnt60
>
—— IM=0 S=0
PSW=0000
PC=8000007D
D0 =00000001 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=8000007A LIR=40000000 LAR=00000000 SP =00001FE0
_0cnt60:
mov (200C _sec ),d0
>
>g@
>
>reset
>g =main,cnt60
>
—— IM=0 S=0
D0 =00000001 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC=8000007D
MDR=8000007A LIR=40000000 LAR=00000000 SP =000000F8
_0cnt60:
>
mov
【
(200C _sec ),d0
☞ BPコマンド、BCコマンド、BDコマンド、BEコマンド、
F5(Go)、F7(Come)キー(ウィンドウ・コマンド)、
SMコマンド 】
プログラム・ロード/実行
7・ダイアログ・コマンド
123
オンザフライ
実行に影響します
RESET
機能
:マイコンのリセット
RESET
マイコンのリセット入力をアクティブにします。
プログラム・カウンタ(PCレジスタ)には 0x40000000番地が設定されます。
CPUのレジスタの全ての値はリセット時不定です。ただし、このデバッガでは、ス
タックポインタ(SPレジスタ)にはインストーラで設定された値が入ります。
☞
【 「MN10300シリーズ PanaXシリーズ インストールマニュアル」 ハードウェア編 6 インストーラの起動と設定 】
このコマンドはプログラムを最初から実行したい場合、またはプログラムの暴走など
によってデバッガがコマンドを受け付けなくなった場合に使用します。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
プログラム・ロード/実行
124
3
イベント関連コマンド
イベント機能は、ハードウェア・ブレークやトレース、時間測定機能などの
起動要因を設定する機能です。インサーキット・エミュレータはユーザ・プ
ログラムの実行を停止させることなくイベント発生を監視し続けます。
イベントには次の2種類があります。
(1)実行アドレス・イベント
命令が実行されたアドレスに対してイベントを発生させます。アドレ
ス範囲指定、通過回数を条件設定できます。4点まで設定できます。
(2)データ・イベント
データ・アクセスに対してイベントを発生させます。リード、ライ
ト、アドレス範囲、データ、アクセス幅、一致/不一致、アクセス
回数を条件設定できます。マイコンの内蔵データRAM空間、外部メ
モリ空間に対し4点まで設定できます。
実行アドレス・イベントとデータ・イベントは、合計で8点を越えて設定す
ることはできません。
ブレーク機能の条件となるイベントをブレーク・イベント、トレースの開
始/停止の条件となるイベントをトレース・イベント、時間測定の開始/
停止の条件となるイベントを時間測定イベントと呼びます。イベント設定
のために使用するコマンドは、それぞれ次のようになります。
ブレーク・イベント:
トレース・イベント:
時間測定イベント:
BPコマンド
EVコマンド
EVコマンド
イベントの削除はBCまたはECコマンドを使用します。
マイコンの内蔵命令ROM/RAM空間や特殊レジスタ空間、システム・リ
ザーブ領域に対しても、データ・イベントを設定することが可能です。
ただし、これらの空間に対する設定は、内蔵データRAM空間に対する設
定と合わせて、4点を越えて設定することはできません。
以下にマイコンによるメモリアクセスと内蔵/外部DMAによるアクセス
に対する各イベントの使用の可否を示します。
×のアクセスに対してはイベント発生させることができません。
イベント関連コマンド
7・ダイアログ・コマンド
マイコンの
内蔵DMA
メモリアクセス
実行アドレスイベント
マイコン内蔵
デ データRAM空間
ー マイコン内蔵
タ 特殊レジスタ空間
イ マイコン内蔵
ベ 命令ROM/RAM空間
ン 外部メモリ空間
ト
システムリザーブ空間
125
外部DMA
〇
×
×
〇
〇
×
〇
×
×
〇
〇
×
〇
〇
×
〇
〇
×
ブレーク機能はユーザ・プログラムの実行を停止させる機能です。
ブレークの種類には以下のものがあります。
(1)ソフトウェア・ブレーク
ユーザ・プログラムにPIコード(0xff)を埋め込むことによって実現し
ます。従って、プログラム・エリアにのみ設定することができ、
データ・エリアには設定できません。また、外部メモリ空間の中に
設定する場合は、設定するアドレスのメモリがエミュレータ内のメ
モリか、ユーザ・ターゲット上のRAMでなければならず、ROMに対
しては設定できません。ソフトウェア・ブレークは設定したアドレ
スの命令を実行する前に停止します。
イベントの設定と合わせて32
点まで設定できます。(BPコマンド)
(2) ハードウェア・ブレーク
実行アドレスやデータ・アクセスをハードウェアで監視し、条件が
成立した時に、マイコンに対して外部からブレークを発生させま
す。ソフトウェア・ブレーク、ハードウェア・ブレークの特徴を以
下に示します。
ソフトウェア・ブレーク
ハードウェア・ブレーク
設定できる条件 エミュレーションメモリか外部
RAMのプログラム・エリア
命令アドレス・ブレーク
・ROM,RAMどちらでも可能
・回数指定
データ・ブレーク
・アドレス、データ、
ビットマスク
・リード、
ライト、
アクセス
・回数指定
その他
・アンド・ブレーク
・シーケンシャル・ブレーク
・
トレースフル・ブレーク
停止位置
イベント成立後数命令実行後
設定可能数
実現方法
命令実行前
ハードウェア・ブレークと合わせ 実行アドレス・ブレーク、データ
32点まで
ブレークそれぞれ4点まで
PIコードをプログラムに埋め 外部ハードウェアで状態を監視
込む
イベント関連コマンド
126
(3) アンド・ブレーク
ハードウェア・ブレークの一種です。
指定したイベントがすべて同時に成立したときにブレークします。
1組のみ指定できます。(BPAコマンド)
(4) シーケンシャル・ブレーク
ハードウェア・ブレークの一種です。
指定したイベントが指定の順序で成立したときにブレークします。
1組のみ指定できます。(BPSコマンド)
(5)トレース・フル・ブレーク
ハードウェア・ブレークの一種です。
トレース・メモリがデータで満たされたときにブレークします。
(TMコマンド)
この他に、ホスト・コンピュータのESCキーを押すことでユーザ・プログ
ラムの実行を強制的に停止させる強制ブレークがあります。
EVコマンド
イベントの設定/表示
BPコマンド
ハードウェア・ブレークおよびソフトウェア・ブレークの設定/表示
BPAコマンド
アンド・ブレークの設定
BPSコマンド
シーケンシャル・ブレークの設定
BC/ECコマンド
イベント、ハードウェア・ブレークおよびソフトウェア・ブレークの解除
BDコマンド
イベント、ハードウェア・ブレークおよびソフトウェア・ブレークの一時
的な禁止
BEコマンド
イベント、ハードウェア・ブレークおよびソフトウェア・ブレークの許可
イベント関連コマンド
7・ダイアログ・コマンド
127
オンザフライ
機能
実行に影響しません
EV
:イベントの設定/表示
EV<アドレスS> [~< アドレスE> ][,<ステータス>][,<データ>[,{/B|/W|/D}][,/N]][,/<回数>]
EV/C{ <リスト>|*}
EV
E V
<アドレスS>[,<∼
イベントの設定を行います。
イベントの種類により、指定できるオプションは次の通りです。
イベントの種類
実行アドレス・イベント
データ・イベント
<アドレスS>
◎
◎
<アドレスE>
○
○
<ステータス>
EX
RW/R/W
<データ>
○
/B,/W,/D
○
/N
○
(◎:必須、○:省略可能、無印:指定不可)
<アドレスS>
メモリ・アドレスまたはシンボルを指定します。アドレス範囲
指定のときは、<アドレスE>の指定と対で開始アドレスを指定
します。
<アドレスE>
メモリ・アドレスまたはシンボルを指定します。<アドレスS>
の指定と対で終了アドレスを指定します。
<ステータス> EX
: 実行アドレス・イベント
RW : 読み込みまたは書き込み動作でデータ・イベント
R
: 読み込み動作でデータ・イベント
W
: 書き込み動作でデータ・イベント
省略 : <データ>指定のある場合はRW(読み込みまたは書き
込み動作でデータ・イベント)
<データ>指定のない場合はEX(実行アドレス・イベン
ト)とみなします。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
128
<データ>
データ・イベントの場合のデータを指定します。省略時は、
データを無視してアドレスだけをイベントの対象とします。
<データ>には、先頭に@を付けることにより2進数での指
定ができます。@を省略したときは16進数の指定とみなし
ます。また、下の例に示すように、マスクビットの指定を含
めることもできます。Xを指定するとドントケアになります。
また上位ビットもドントケアになります。
@10xx‥‥@1000、@1001、@1010、@1011
のいずれかの値で条件成立します。
C5xx‥‥‥C500∼C5FFのいずれかの値で条件成
立します。
<データ>にシンボルを用いることはできません。
/B, /W, /D
データ・イベントのときのデータ・アクセス幅を8ビットデー
タ(/B)、16ビットデータ(/W)、32ビットデータ(/D)で指定
します。省略時は、アクセス幅を特定しないサイズ・ドント・
ケアのモードとなります。
/N
データ・イベントでアクセスしたデータが<データ>で指定し
た値と一致しなかった場合にイベント成立します。省略時は、
データが一致した場合にイベント成立します。
/<回数>
実行アドレス・イベントの場合、通過回数を指定します。デー
タ・イベントの場合、アクセス回数を指定します。指定され
た回数だけ繰り返されたとき、イベントが成立します。最大
256まで設定できます。省略時は<回数>を1とします。基数
はNコマンドの指定に関係なく10進数、あるいは0xを付ける
と16進数とみなします。
E V / C
{<リスト>|*}
<リスト>で指定されたイベントが成立した場合、プログラムの実行は停止
させずにすべてのイベントの成立済みフラグをクリアするとともに、通過回
数やアクセス回数カウント用のカウンタを0に初期化し、もう一度最初から
カウントを始めます。
アンド・ブレーク、シーケンシャル・ブレーク、ソフトウェア・ブレークに
は設定できません。<リスト>で指定された番号のイベントが成立した場合、
すべてのイベントが初期化されます。
イベント関連コマンド
7・ダイアログ・コマンド
129
EV/C 1,2,7 ↵
上の例では、イベント1、2、7のうちのいずれか一つが成立した場合、す
べてのイベントが初期化されます。
参考
E V
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは
0xを付けると16進数とみなします。
設定されているイベントの表示を行います。
使用例
>ev main
>ev cnt60,/3
>ev sec,5
>ev
No.
Sadr
E 1
80000039
E 2
80000058
E 3
0000080C
>tm 3
>ti max,/s1,/e2
>ev
No.
Sadr
E 1
80000039
E 2
80000058
E 3
0000080C
>
Eadr
st.
EX
EX
RW
Data/Symbol
_0main
_0cnt60
05
Sz Cnt BRK TRC DLY TS TE CLR
1
3
1
Eadr
st.
EX
EX
RW
Data/Symbol
_0main
_0cnt60
05
Sz Cnt BRK TRC DLY TS TE CLR
1
*
3
*
1
*
参考
・No.は、設定したイベントに付けられた番号です。BC/EC,
BD,BE,BPA,BPS,TM,TIコマンドは、この番号を
使用して各種設定を行います。
・E/Dは、現在そのイベントが有効(E)か無効(D)かを示しま
す。
・st.欄の略号の意味は次の通りです。
EX・・・・・・・・・実行アドレス・イベント
RW・・・・・・・・ 読み込みまたは書き込み動作でデータ・イベント
RD・・・・・・・・・読み込み動作でデータ・イベント
WR・・・・・・・・ 書き込み動作でデータ・イベント
・sz欄はデータ・イベントのときのアクセス幅を示します。
B・・・・・・・・・・・8ビットデータ
W・・・・・・・・・・16ビットデータ
D・・・・・・・・・・・32ビットデータ
−・・・・・・・・・・サイズ・ドント・ケア
・*(アスタリスク)はそのイベントが次の各機能に割り当てられて
いることを示します。
BRK・・・・・・・ブレーク【 BPコマンド】
TRC・・・・・・・ イベント条件付きトレース【 TMコマンド】
DLY・・・・・・・ディレイド・トリガ・トレースのイベント
【 TMコマンド】
TS・・・・・・・・・ 時間測定開始イベント【 TIコマンド】
TE・・・・・・・・・ 時間測定終了イベント【 TIコマンド】
CLR・・・・・・・ イベントクリア【 EV/Cコマンド】
☞
☞
☞
☞
☞
☞
A
B
C
D
E
F
G
H
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
130
ハードウェアブレーク設定、表示:
実行に影響しません
ソフトウェアブレーク設定:
実行に影響します
BP
オンザフライ
機能
:ブレーク・イベントの設定/表示
BP<アドレスS> [~< アドレスE> ][,<ステータス>][,<データ>[,{/B|/W|/D}][,/N]][,/<回数>][,/C<コマンド>]
BP
BP
<アドレスS>[,<∼
内部的にイベントを設定し、そのイベントをハードウェア・ブレークに設定
します。
ブレークの種類により、指定できるオプションは次の通りです。
ブレークの種類
実行アドレス
・ブレーク
データ・
ブレーク
ソフトウェア
・ブレーク
<アドレスS>
◎
◎
◎
<アドレスE>
○
○
<ステータス>
EX
RW/R/W
<データ>
○
/B,/W,/D
○
/N
○
/<回数>
○
○
/C<コマンド>
○
○
○
(◎:必須、○:省略可能、無印:指定不可)
<アドレスS> メモリ・アドレスまたはシンボルを指定します。アドレス範
囲指定のときは、<アドレスE>の指定と対で開始アドレスを
指定します。
<アドレスE> メモリ・アドレスまたはシンボルを指定します。<アドレスS>
の指定と対で、終了アドレスを指定します。
<ステータス> EX
RW
R
W
: 実行アドレス・ブレーク
: 読み込みまたは書き込み動作でデータ・ブレーク
: 読み込み動作でデータ・ブレーク
: 書き込み動作でデータ・ブレーク
省略 : <データ>指定のある場合はRW
<データ>指定がなく、<アドレスE>または<回数>
指定がある場合はEX
それ以外はソフトウェア・ブレークとみなします。
イベント関連コマンド
7・ダイアログ・コマンド
131
<データ> データ・ブレークの場合のデータを指定します。省略時は、
データを無視してアドレスだけをブレークの対象とします。
<データ>には、先頭に@を付けることにより2進数での指
定ができます。@を省略したときは16進数指定とみなしま
す。また、下の例に示すように、マスクビットの指定を含め
ることもできます。Xを指定するとドントケアになります。
また上位ビットもドントケアになります。
@10xx‥‥@1000、@1001、@1010、@1011
のいずれかの値で条件成立します。
C5xx‥‥‥C500∼C5FFのいずれかの値で条件成
立します。
<データ>にシンボルを用いることはできません。
/B, /W, /D
データ・ブレークのときのデータ・アクセス幅を8ビットデー
タ(/B)、16ビットデータ(/W)、32ビットデータ(/D)で指定
します。省略時は、アクセス幅を特定しないサイズ・ドント・
ケアのモードとなります。
/N
データ・ブレークでアクセスしたデータが<データ>で指定し
た値と一致しなかった場合にブレーク成立します。省略時は、
データが一致した場合にブレーク成立します。
/<回数>
実行アドレス・ブレークの場合、通過回数を指定します。デー
タ・ブレークの場合、アクセス回数を指定します。指定され
た回数だけ繰り返されたとき、ブレーク成立します。最大256
まで設定できます。省略時は、<回数>を1とします。基数は
Nコマンドの指定に関係なく10進数、あるいは0xを付けると
16進数とみなします。
/C<コマンド> <コマンド>には最大40文字までの範囲でCソースコード・デ
バッガのコマンドまたはマクロの記述ができます。この指定
がされている場合は、ブレーク後に指定された<コマンド>が
自動実行されます。ただし、F5キーで実行した場合はブレー
ク後に<コマンド>は実行されません。
BP
設定されているブレークの表示を行います。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
132
>bp main
>bp sec,w,5
>bp 100,rw
>bp
No.
Sadr
E 1
80000039
E 2
0000080C
E 3
00000100
>bp cnt60,ex
>bp
No.
Sadr
E 1
80000039
E 2
0000080C
E 3
00000100
E 4
80000058
>ev
No.
Sadr
E 2
0000080C
E 3
00000100
E 4
80000058
>
Eadr
st. Data/Symbol
SF _0main
WR 05
RW
Sz Cnt Command
1
1
1
Eadr
st.
SF
WR
RW
EX
Sz Cnt Command
1
1
1
1
Eadr
Data/Symbol
_0main
05
_0cnt60
st. Data/Symbol
WR 05
RW
EX _0cnt60
Sz Cnt BRK TRC DLY TS TE CLR
1 *
1 *
1 *
・No. は、設定したブレーク・イベントに付けられた番号です。B
C/EC,BD,BEコマンドは、この番号を使用してブレーク・
イベントの解除/無効化/有効化の指定を行います。
・E/Dは、現在そのブレーク・イベントが有効(E)か無効(D)
かを示します。
・st. 欄の略号の意味は次の通りです。
SF・・・・・・・・・・・・・ソフトウェア・ブレーク
EX・・・・・・・・・・・・ 実行アドレス・ブレーク
RW・・・・・・・・・・・ 読み込みまたは書き込み動作によるデータ・ブレーク
RD・・・・・・・・・・・・読み込み動作によるデータ・ブレーク
WR・・・・・・・・・・・ 書き込み動作によるデータ・ブレーク
・sz欄はデータ・ブレークのときのアクセス幅を示します。 B・・・・・・・・・・・・・ 8ビットデータ
W・・・・・・・・・・・・・16ビットデータ
D・・・・・・・・・・・・・ 32ビットデータ
−・・・・・・・・・・・・・サイズ・ドント・ケア
参考
☞
【 BC/ECコマンド、BDコマンド、BEコマンド、Gコマンド、
Lコマンド、LPコマンド】
イベント関連コマンド
7・ダイアログ・コマンド
133
オンザフライ
実行に影響しません
BPA
機能
:アンド・ブレークの設定
BPA<リスト>
アンド・ブレークを設定します。
B PA
<リスト>
<リスト>で指定されたハードウェア・ブレーク・イベントをアンド条件にしま
す。すべての条件が成立してからブレークします。
<リスト>には最大8点までのブレーク・イベント番号をカンマ(,)で区切っ
て指定します。
プログラム実行中にアンド・ブレークを設定した場合は、ただちに有効となり
ます。アンド・ブレークの解除は、アンド・ブレークに設定されているブレー
ク・イベントの一つにBDあるいはBC/ECコマンドを実行してください。
使用例
ブレーク・イベント
No.2, 3がアンド・
ブレークになります。
>bp
No.
E 1
E 2
E 3
E 4
>bpa 2,3
>bp
No.
E 1
E 2 (& )
E 3 (& )
E 4
>
Sadr
80000039
00000100
00000800
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
_i
_0cnt60
Sz Cnt Command
1
1
1
1
Sadr
80000039
00000100
00000800
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
_i
_0cnt60
Sz Cnt Command
1
1
1
1
参考
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは0xを
付けると16進数とみなします。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
134
オンザフライ
実行に影響しません
BPS
機能
:シーケンシャル・ブレークの設定
BPS <リスト>
シーケンシャル・ブレークを設定します。
BP S
<リスト>
<リスト>で指定されたハードウェア・ブレーク・イベントのシーケンシャ
ル・ブレークを設定します。
<リスト>には複数のブレーク・イベントを指定でき、合わせて最大8点まで
設定することができます。指定された順にブレーク・イベントが成立すると、
シーケンシャル・ブレークが発生します。アンド・ブレークに使用している
ブレーク・イベントを、シーケンシャル・ブレークと併用することができま
す。シーケンシャル・ブレークの解除は、シーケンシャル・ブレークに設定
されているブレーク・イベントの一つに、BDあるいはBC/ECコマンドを実
行してください。
ユーザ・プログラム実行中(オンザフライ)に、シーケンシャル・ブレー
クを設定した場合は、一時的にすべてのイベントが無効になった後、有効
になります。(一時的にイベントが無視される時間があります。)
イベント関連コマンド
7・ダイアログ・コマンド
135
B
使用例
ブレーク・イベント
No.2, 3,4がシーケン
シャル・ブレークにな
ります。
>bp
No.
Sadr
E 1
80000039
E 2
00000100
E 3
00000800
E 4
80000058
>bps 2,3,4
>bp
No.
Sadr
E 1
80000039
E 2 ( 1) 00000100
E 3 ( 2) 00000800
E 4 ( 3) 80000058
>bd *
>be *
>bp
No.
Sadr
E 1
80000039
E 2
00000100
E 3
00000800
E 4
80000058
>
参考
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
_i
_0cnt60
Sz Cnt Command
1
1
1
1
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
_i
_0cnt60
Sz Cnt Command
1
1
1
1
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
_i
_0cnt60
Sz Cnt Command
1
1
1
1
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは0xを
付けると16進数とみなします。
イベント関連コマンド
136
ハードウェア・ブレーク: 実行に影響しません
ソフトウェア・ブレーク:
BC/EC
オンザフライ
実行に影響します
機能
:ブレーク・イベントの解除
BC{ <リスト>|*}
EC{ <リスト>|*}
EVコマンド、BPコマンドで設定されたソフトウェア・ブレーク/ハードウェア・ブ
レーク・イベントを解除します。
BCコマンドではソフトウェア・ブレーク,ハードウェア・イベント/ブレークを解除
できます。ECコマンドではハードウェア・イベント/ブレークのみ解除できます。
<リスト>が指定された場合は指定された番号のブレーク・イベントが解除されます。
また、* が指定された場合は設定されているすべてのブレーク・イベントを解除します。
BC 1,2,7 ↵
上の例では、ブレーク・イベント1,2,7が解除されます。
BC *
↵
上の例では、すべてのブレーク・イベントが解除されます。
イベントがアンド・ブレーク,シーケンシャル・ブレーク,トレース・イベント,時間
測定イベントのいずれかに使用されている場合は、これらの機能は解除されます。
使用例
>bp
No.
E 1
E 2
E 3
E 4
>bc 1,4
>bp
No.
E 2
E 3
>bc 2
>bp
No.
E 3
>
Sadr
80000029
00000100
00000000
80000056
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_main
@0xxxx100
_i
_cnt60
Cnt Command
1
1
1
1
Sadr
00000100
00000000
Eadr
st. Data/Symbol
RW @0xxxx100
RW _i
Cnt Command
1
1
Sadr
00000000
Eadr
st. Data/Symbol
RW _i
Cnt Command
1
参考
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは
0xを付けると16進数とみなします。
【 EVコマンド、BPコマンド、BDコマンド、BEコマンド】
☞
イベント関連コマンド
7・ダイアログ・コマンド
ハードウェア・ブレーク: 実行に影響しません
ソフトウェア・ブレーク:
BD
137
オンザフライ
実行に影響します
機能
:ブレーク・イベントの一時的な無効化
BD{ <リスト>|*}
EVコマンド、BPコマンドで設定されたソフトウェア・ブレーク/ハードウェア・ブ
レーク・イベントを一時的に無効にします。
<リスト>が指定された場合は、指定された番号のブレーク・イベントを無効にします。また、
*が指定された場合は設定されているすべてのブレーク・イベントを無効にします。
BD 1,2,7 ↵
上の例では、ブレーク・イベント1,2,7が一時的に無効になります。
BD * ↵
上の例では、すべてのブレーク・イベントが一時的に無効になります。
イベントがアンド・ブレーク,シーケンシャル・ブレーク,トレース・イベント,時間
測定イベントのいずれかに使用されている場合は、これらの機能は解除されます。この
場合、BEコマンドで無効にしたブレーク・イベントを有効にしても、これらのブレー
ク・イベントは解除されたままです。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
138
使用例
>bp
No.
E 1
E 2
E 3
E 4
>bd 2,3
>bp
No.
E 1
D 2
D 3
E 4
>bd *
>bp
No.
D 1
D 2
D 3
D 4
>
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
参考
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは0xを
付けると16進数とみなします。
☞
【 EVコマンド、BPコマンド、BC/ECコマンド、BEコマンド】
イベント関連コマンド
7・ダイアログ・コマンド
ハードウェア・ブレーク: 実行に影響しません
ソフトウェア・ブレーク:
BE
139
オンザフライ
実行に影響します
機能
:ブレーク・イベントの有効化
BE{ <リスト>|*}
BDコマンドで一時的に無効にしたソフトウェア・ブレーク /ハードウェア・ブレーク・イベン
トを有効にします。
<リスト>が指定されたときは、指定された番号のブレーク・イベントを有効にします。
*が指定されたときは設定されているすべてのブレーク・イベントを有効にします。
BE 1,2,7 ↵
上の例では、ブレーク・イベント1,2,7が有効になります。
BE * ↵
上の例では、すべてのブレーク・イベントが有効になります。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
イベント関連コマンド
140
使用例
>bp
No.
D 1
D 2
D 3
D 4
>be 1,3
>bp
No.
E 1
D 2
E 3
D 4
>be *
>bp
No.
E 1
E 2
E 3
E 4
>
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
Sadr
80000039
00000100
00000000
80000058
Eadr
st.
SF
RW
RW
EX
Data/Symbol
_0main
@0xxxx100
05
_0cnt60
Sz Cnt Command
1
1
1
1
参考
<リスト>の基数はNコマンドの指定に関係なく10進数、あるいは0xを
付けると16進数とみなします。
【 EVコマンド、BPコマンド、BC/ECコマンド、BDコマンド】
☞
イベント関連コマンド
7・ダイアログ・コマンド
4
141
その他のハードウェア関連コマンド
TMコマンド
トレース・モードの設定および表示をします。
TGコマンド
トレースを開始します。
TSコマンド
トレースを停止します。
TDコマンド、TDUコマンド
トレース情報を表示します。
TDWコマンド
トレース情報をウィンドウ型で表示します。
TIコマンド
タイマの設定、表示を行います。
TRIGコマンド
トリガの設定、表示を行います。
MAPコマンド(EXコマンド)
メモリの割付けを行います。
その他のハードウェア関連コマンド
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
142
オンザフライ
実行に影響しません
TM
機能
:トレース・モードの設定/表示
TM [<モード>] {/B|/C|/S|/T
[
TM /F
TM
[<カウント>],<イベント番号>}]
トレースはユーザ・プログラムの実行状態をトレースメモリに記憶しておき、
後でプログラム実行状態を解析する機能です。実行アドレスとデータ・アドレ
ス、データ値、バス・ステータスに関する情報を16Kステップ分記憶すること
が可能です。
T M
[<モード>] {/B|/C∼ [
トレースのモードを指定します。モード指定項目には、バス指定、トレース格
納条件、トレース停止条件とがあり、各項目はカンマ(,)で区切って同時に指定
できます。指定が省略された項目はデフォルト値が設定されます。
バス指定
INT
以下の内のいずれかを選択します。
内蔵RAMバス (デフォルト)
内蔵RAMバスのトレースでは、マイコンの内蔵RAMや特殊レジ
スタおよび外部メモリに対するアクセス(内蔵DMAによるアクセ
スを除く)を、実際の命令の動作タイミングに合わせてトレースで
きます。
EXT 拡張RAMバス
拡張RAMバスのトレースでは、マイコンの外部メモリに対するア
クセス (内蔵DMAによるアクセスを含む)のみを、外部バスの動作
タイミングに合わせてトレースできます。MN10300シリーズでは、
外部バスはマイコンのストア・バッファを介したアクセスになる
ため、命令の動作タイミングより遅れて動作します。
トレース格納条件 以下の内のいずれかを選択します。
ALL
ノーマル・トレース・モード (デフォルト)
マイコンの実行の全サイクルをトレースメモリに格納しす。16K
ステップまでトレースできます。
その他のハードウェア関連コマンド
7・ダイアログ・コマンド
JMP
143
分岐トレース・モード
分岐命令のみをトレースメモリに格納し、分岐命令と分岐命令
の間はソフトウェアで補正することで、見かけ上、通常のトレー
スより長い時間のトレースを可能にするモードです。ただし、
トレース開始後、最初の分岐命令が出現するまではトレース表
示ができません。
<イベント番号>
イベント条件付きトレース・モード
イベント条件付きトレースは、<イベント番号>で指定したイ
ベントが成立している間のみ、トレースを行います。
トレース停止条件 以下の内のいずれかを選択します。
/B
トレース・フル・ブレーク・モード
トレース・メモリが一杯になった時点でトレースを停止し、ユー
ザプログラムの実行も停止(ブレーク)します。
/C
トレース・コンティニュー・モード (デフォルト)
トレース・メモリが一杯になっても、ユーザ・プログラムが停止
するまで、トレースを継続し、ユーザ・プログラムの停止する
前の16Kステップをトレース・データとして残します。
/S
トレース・フル・ストップ・モード
ユーザ・プログラムが実行を開始(または再開)してから、トレー
ス・メモリが一杯(16Kステップ)になるまでトレースを行ないま
す。トレースメモリが一杯になったときに、トレースを停止し
ます。ユーザ・プログラムは停止しません
/T [<カウント>],<イベント番号>
ディレイド・トリガ・トレース・モード
<イベント番号>で指定されたイベントが発生してから、<カウン
ト>で指定されたサイクル数だけトレースした後、トレースを停
止します。イベント発生前後のプログラムの実行状態を監視す
ることができます。<カウント>は257から16384までの範囲で指
定できます。省略時は<カウント>を257とします。<イベント番
号>は省略できません。
その他のハードウェア関連コマンド
T
144
T M /F
トレース・モードをデフォルトのモードに設定します。
すなわち、
バス選択
:内蔵RAMバス
トレース格納条件:ノーマル・トレース・モード
トレース停止条件:トレース・コンティニュー・モード
で設定します。
T M
設定されているトレース・モードの表示を行います。
トレースイベントが解除または無効になった場合、エミュレータはトレー
スを停止し、トレース・モードをデフォルトのモードに設定します。
マイコンによるメモリアクセスと内蔵/外部DMAによるアクセスに対
する各モードの使用の可否を以下に示します。
×のアクセスに対しては使用することができません。
マイコンの
内蔵DMA
メモリアクセス
I
N
T
モ
ー
ド
マイコン内蔵
データRAM空間
マイコン内蔵
特殊レジスタ空間
マイコン内蔵
命令ROM/RAM空間
外部メモリ空間
マイコン内蔵
E データRAM空間
X マイコン内蔵
T 特殊レジスタ空間
モ マイコン内蔵
ー
命令ROM/RAM空間
ド
外部メモリ空間
外部DMA
〇
〇
×
〇
〇
×
〇
〇
×
〇
×
×
×
△
×
×
△
×
×
△
×
〇
〇
×
(△:外部メモリ空間との間でのDMA時のみ可能)
その他のハードウェア関連コマンド
7・ダイアログ・コマンド
145
使用例
>tm
Trigger
= OFF
Trace Full
= Continue
Trace Cycle = ALL & INT
>ev main~cnt60,ex
>tm 1
>ev
No.
Sadr
Eadr
st.
E 1
80000039 ~ 80000058 EX
>tm
Trigger
= OFF
Trace Full
= Continue
Sample Event = 1
Trace Cycle = INT
>ev sec,w,5
>tm /t1000,2
>ev
No.
Sadr
Eadr
st.
E 1
80000039 ~ 80000058 EX
E 2
0000080C
WR
>tm
Trigger
= ON
(Delay = 1000
Trace End
= Stop
Trace Cycle = ALL & INT
>tm /f
>tm
Trigger
= OFF
Trace Full
= Continue
Trace Cycle = ALL & INT
>
参考
Data/Symbol
_0main
Sz Cnt BRK TRC DLY TS TE CLR
1
*
Data/Symbol
_0main
05
Sz Cnt BRK TRC DLY TS TE CLR
1
1
*
/ Sample Event = 2)
<イベント番号>(イベント条件付きトレースおよびディレイド・トリ
ガ・トレース)、<カウント>の基数はNコマンドの指定に関係なく10
進数、あるいは0xを付けると16進数とみなします。
【 EVコマンド】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
その他のハードウェア関連コマンド
146
オンザフライ
実行に影響しません
TG
機能
:トレース開始
TG
ユーザ・プログラム実行中に、TSコマンドまたはトレース・フル・ストップでトレー
スが停止している場合、TGコマンドでトレースを再開できます。
ディレイド・トリガ・トレースモードでトリガ成立によるトレース停止
した場合にはTGコマンドによるトレース再開はできません。TGコマ
ンドは、ユーザ・プログラム実行中のみ実行できます。
使用例
その他のハードウェア関連コマンド
>tm
Trigger
= OFF
Trace Full
= Continue
Trace Cycle = ALL & INT
>g
>ts
トレースストップ
>tg
>
7・ダイアログ・コマンド
147
オンザフライ
実行に影響しません
TS
機能
:トレース停止
TS
ユーザ・プログラム実行中にトレースを停止します。
再度トレースを開始するには、TGコマンドを実行してください。
TSが有効になると「トレースストップ」というメッセージが出力されます。
TSコマンドは、ユーザ・プログラム実行中のみ実行できます。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
その他のハードウェア関連コマンド
148
ダンプ形式: 実行に影響しません
逆アセンブル形式:
実行に影響します
TD / TDU
オンザフライ
機能
:トレースの表示
TD
TDU
トレースメモリの内容をマシン・サイクルごとに16進ダンプ表示(TD)または逆ア
センブル(TDU)で表示します。
表示するフレームの内容が前フレームの内容と同じ場合は”:”表示となります。
このコマンドを実行するとサンプルしたフレーム数を表示し、トレースの表示モードに
入ります。このモードではプロンプトが '*'に変わり、キー入力待ちになります。ここ
では、次のページに示すサブ・コマンドが使用できます。
トレース実行中にTDコマンドを実行した場合は「Stop Trace?(Y/N)」
と画面に表示されます。ここでYを入力するとトレースを停止しトレースメモリの内容
を表示します。Nを入力するとトレースを停止させずにコマンド入力待ちに戻ります。
プログラム実行中にトレースの表示モードを終了すると、「Go Trace?(Y
/N)」と画面表示されます。トレースを再開する場合は、Yを入力してください。
なお、ディレイド・トリガ・トレースモードではトレースの再開ができないため、メッ
セージの表示はありません。
リターンキーのみを押すと、Nを押した(選択した)ことになります。
TD
トレースメモリの16進ダンプ表示
TD U
トレースメモリの逆アセンブル表示
その他のハードウェア関連コマンド
7・ダイアログ・コマンド
149
TDコマンド入力時のサブ・コマンドを示します。
B
トレースメモリの先頭を表示します。
−B
トレースメモリの最後を表示します。
Pn
表示開始フレームをnページだけ移動し、移動
後の1ページを表示します。
また、前に−を付けるとnページ前に移動しま
す。ページ数が省略された場合は1ページ移動
します。リターンキーのみが入力された場合は、
次の1ページに移動しそのページを表示します。
表示開始フレームをnに設定します。
Nn
先頭がフレーム0で時間的に一番古いデータと
なります。
D
表示モードをマシン・サイクルごとの16進表
[<フレームアドレスS>][ , <フレーム
アドレスE>]
示に変更します。
S,Eが指定されたときは、フレームアドレスS
からフレームアドレスEまでを表示します。
L
表示モードを逆アセンブル表示に変更します。
[<フレームアドレスS>][ , <フレーム
アドレスE>]
S,Eが指定されたときは、フレームアドレスS
C
”:”表示になっているフレームを画面から消
からフレームアドレスEまでを表示します。
去します。
もう一度実行すると”:”を表示します。
Q/.
トレース表示を終了します。
・トレースされたステップが16Kステップ未満の場合、トレーススター
ト時の最初の命令がトレースされない場合があります。
・トレースフル・ブレークを使用した場合、ユーザ・プログラム停止直
前の数命令はトレースされない場合があります。
その他のハードウェア関連コマンド
T
150
使用例
>bp sec,rw,5,/d
>g
>
----- IM=0 S=0 D0 =00000005 D1 =00000000 D2 =0000001C D3 =00000014
PSW=0000
A0 =00000000 A1 =80000098 A2 =FFFFF870 A3 =20000000
PC =8000005F
MDR=80000055 LIR=02A544F0 LAR=FFFFF0E0 SP =00000FF8
MDRQ=00800000
mov
(80C _sec ),d0
>td
Sampled Frame Number = 16384
*d 0
Frame
ROM_A
RAM_A
Data
R/W
--------------------------------------------------------------------------00000
80000015
00001
:
00002
:
00000EE4
*c 1000
Frame
ROM_A
RAM_A
Data
R/W
--------------------------------------------------------------------------01008
E
01009
01088
JE
80000017
00000EFC
80000017
00000EFC
80000013
00000EFC
*u 2000
Frame
Addr.
Mnemo. Opr.
RAM_A
Data
R/W
--------------------------------------------------------------------------STARTUP.ASM:0058:
02048
JE
80000013
mov
STARTUP.ASM:0059:
02049
E
80000014
d0, (a0)
mov d0,(a0)
inc4
00000F14
a0
inc4 a0
00000F18
00000000 (wr)
*
Frame
Addr.
Mnemo. Opr.
RAM_A
Data
R/W
--------------------------------------------------------------------------STARTUP.ASM:0060:
02050
02051
E
80000015
80000015
*c
*q
>
その他のハードウェア関連コマンド
add
add -4,d1
-4, d1
00000F18
00000F18
7・ダイアログ・コマンド
ダンプ形式: 実行に影響しません
逆アセンブル形式:
実行に影響します
TDW
151
オンザフライ
機能
:トレースのウィンドウ表示
TDW
トレースメモリの内容をウィンドウ表示します。
このときTDコマンドと同様、ダンプ表示と逆アセンブル表示の切換えが可能です。
このとき F1∼ F10 が使えます。トレース実行中にTDWコマンドを実行した場合
は、「Stop Trace?(Y/N)」と画面に表示されます。ここでYを入力するとトレースを停
止してトレースメモリの内容を表示します。Nを入力するとトレースを停止させずに
コマンド入力待ちに戻ります。
プログラム実行中にトレース表示を終了すると、「Go Trace?(Y/N)」と画面表示されま
す。トレースを再開する場合は、Yを入力してください、なお、ディレイド・トリガ・
トレースモードではトレースの再開ができないため、メッセージの表示はありません。
F1 (Jump)
現在表示しているフレームから次に見たいフレームへのジャンプ機能です。
F2 (Search)
トレース情報から文字列の検索ができます。
検索を中断するときは、ESCキーを押してください。
F3 (Next)
検索モードのときトレース情報の後方(最新トレースに近い方)へと F2で
指定した文字列をサーチします。
F4 (Back)
検索モードのとき、トレース情報の前方へと指定した文字列をサーチします。
F5 (D/AS)
表示をダンプか逆アセンブル・モードかを切り換えます。
F6 (First)
トレースメモリの先頭を表示します。
F7 (Last)
トレースメモリの最後を表示します。
F10 (Cmpres)
”:”で表示されているフレームを表示/消去します。
ESC
トレース表示を終了し、Cソースコード・デバッガのデバッグ画面に戻りま
す。
T
その他のハードウェア関連コマンド
152
・ トレースされたステップが16Kステップ未満の場合、トレーススタート時の最
初の命令がトレースされない場合があります。
・ トレースフル・ブレークを使用した場合、ユーザプログラム停止直前の
数命令はトレースされない場合があります。
・ トレース取得中に、マイコン内蔵命令のRAMの内容が書き換えられた
場合、トレースの逆アセンブル表示は正しく表示されません。
サンプル画面
その他のハードウェア関連コマンド
7・ダイアログ・コマンド
153
オンザフライ
実行に影響しません
機能
*TI RUN除く
:実行時間の測定/表示
TI
TI[<モード>][,/S<イベント番号>][,/E<イベント番号>]
TI<クロック>
TI STOP
TI
ユーザ・プログラムの実行時間をタイマのクロック単位で測定します。最大測定誤差は
±(タイマのクロック)と同じです。タイマのクロックは、25ns,50ns,100nsから
選択できます。モードには以下のものがあります。
連続測定モード
ユーザ・プログラムの実行開始(または再開)から停止までの時間を測定し
ます。
パーシャルモード
イベント発生から別のイベント発生までの時間を測定します。パーシャル
測定モードには、さらに次の2つのモードがあります。
FIRSTモード
イベント間を最初の1回だけ時間測定します。
MIN/MAXモード
イベント間を継続的に測定し、その中の最小値と最大値を求めます。
TI
[<モード>∼
タイマの動作モードを指定します。
<モード> RUN: 連続測定モード
プログラムの実行開始から停止までの時間を測定をしま
す。ただし、最初の命令の実行時間は測定値に含まれま
せん。
このモードはプログラム実行中に設定することはできません。
その他のハードウェア関連コマンド
T
154
FIRST: パーシャル・ワン・ショット・モード
イベント間を1回だけ時間測定します
MIN:
MAX:
(
パーシャル・ミニマム・マックス・モード
イベント間を継続的に測定し、その中の最小値と最大値
を求めます。タイマクロックが25nsの場合、約107秒まで
の最大値が測定できます。MAXとMINのどちらを指
定しても同じ動作をします。
/S<イベント番号>
時間測定開始イベントを指定します。
/E<イベント番号>
時間測定終了イ ベントを指定 します。
・連続測定モードでは、/S,/E<イベント番号>の指定はできません。
・タイマで使用しているイベントが解除(あるいは無効)になった場合
は、測定モードが自動的に連続測定モードに切り換えられます。
参考
T I <クロック>
<イベント番号>の基数はNコマンドの指定に関係なく10進数、ある
いは0xを付けると16進数とみなします。
クロックの設定
タイマのクロックの設定を行います。
<クロック>
/T1:
/T2:
/T4:
/M:
分解能 25ns
分解能 50ns
分解能 100ns
マイコンのクロック /Mを指定した場合は、時間ではなくマシンサイクルを表示し
ます。
T I STOP
その他のハードウェア関連コマンド
タイマモードの解除
時間測定 を中止します。
7・ダイアログ・コマンド
T I
155
現在設定されているタイマ・モード、タイマの値を表示します。
時間測定終了イベントから時間測定開始イベントの間が4クロック
以内の場合、実行時間は正しく時間計測されません。
使用例
>ti
Timer : Stop
>ev init_data,ex
>ev sec,rw
>ti max,/s1,/e2
>ev
No.
Sadr
-
Eadr
st. Data/Symbol Sz Cnt BRK TRC DLY TS TE CLR
E
1
80000083
EX
_init_data
E
2
0000080C
RW
_sec
1
-
*
1
*
>g
>ti
Timer Clock
= 1/1
Timer Start Event = 1
Timer End
Event = 2
MAX TIME = 2,025 (nS)
MIN TIME = 0 (nS)
>
----- IM=0 S=0 D0 =00000005 D1 =00000000 D2 =0000001C D3 =00000014
PSW=0000
A0 =00000000 A1 =80000098 A2 =FFFFF870 A3 =20000000
PC =8000005F
MDR=80000055 LIR=02A544F0 LAR=FFFFF0E0 SP =00000FF8
T
MDRQ=00800000
mov
(80C _sec ),d0
Timer Clock
= 1/1
Timer Start Event = 1
Timer End
Event = 2
MAX TIME = 2,025 (nS)
MIN TIME = 0 (nS)
>
>ti stop
>
【 EVコマンド】
☞
その他のハードウェア関連コマンド
156
オンザフライ
実行に影響しません
TRIG
機能
:トリガの設定/表示
TRIG OUT<データ>
TRIG RAM<アドレス>
TRIG EVENT
TRIG
トリガ出力の設定、表示を行います。
T R IG
OUT
8ビットのポートデータ<データ>を出力します。
RAM
マイコンが<アドレス>をアクセスしたとき、<アドレス>の内容を出力します。
<データ>
T R IG
<アドレス>
T R IG E V E N T
イベントの成立状態を出力します。
BPSコマンドでシーケンシャルブレークの設定を行った場合、ト
リガ出力されるイベント出力とイベント番号の対応が変化すること
がありますので、TRIGコマンドで番号の対応を確認してくださ
い。
T R IG
その他のハードウェア関連コマンド
現在設定されているトリガ出力を表示します。
7・ダイアログ・コマンド
使用例
157
>trig
Trigger mode = Port Data (00/00000000)
>
>ev cnt60,ex
>ev sec,rw
>ev 80000100,ex
>trig event
>trig
Trigger mode = Event
Trig. No. #7 #6 #5 #4 #3 #2 #1 #0
Event No. -- -- -- -- -- 3 2 1
>
>trig ram sec
>trig
Trigger mode = RAM Monitor
Address
= 0000000C (Data is invalid.)
>
T
その他のハードウェア関連コマンド
158
表示: 実行に影響しません
設定:
使用できません
MAP/EX
オンザフライ
機能
:メモリ割付け
MAPI <アドレスS>,<アドレスE>[,{/F|/S}]
MAPE <アドレスS>,<アドレスE>
MAP
EXI <アドレスS>,<アドレスE>[,{/F|/S}]
EXE <アドレスS>,<アドレスE>
EX
どのメモリ空間をインサーキット・エミュレータ内のメモリ(エミュレーションメモリ)
に割り付けるかを指定します。
インサーキット・エミュレータに割り付けるメモリ(エミュレーションRAM)の合計
は、実装されているメモリ(標準:高速エミュレーションRAM512Kバイト、低速
エミュレーションRAM512Kバイト)よりも小さくなるように設定する必要があり
ます。各ブロックの始まりと終わりは4Kバイト単位で設定できます。なお、4Kバイ
ト単位以外に設定しようとした場合は、デバッガが自動的に補正を行います。
MAPコマンドとEXコマンドは同じ機能です。
M A PI /
E XI <アドレスS>,<アドレスE>
[,{/F|/S}]
指定範囲のメモリ空間をアクセスする場合に、インサーキット・エミュ
レータ内のメモリ(エミュレーションRAM)を使用するように割り付け
ます。最大8ブロックまで4Kバイト単位で指定できます。
/Fは高速エミュレーションRAM、/Sは低速エミュレーションRAMに割り付
けます。省略時は/F(高速エミュレーションRAM)が指定されたものとみなし
ます。
MAPI
80000000,80000FFF,/F
上の例では、アドレス0x80000000 から 0x80000fffまでの4Kバイトの空間をイン
サーキット・エミュレータ内の高速エミュレーションRAMに割り付けます。
割り付けるアドレスによっては、インサーキット・エミュレータに実装されている
メモリのトータルサイズよりも小さなサイズでしか設定できない場合があります。
☞
【 P.6
メモリエミュレーション機能】
M A PE /
E X E <アドレスS>,<アドレスE>
その他のハードウェア関連コマンド
指定範囲のメモリ空間をアクセスする場合に、ユーザ・ターゲットの資源
を使用するように割り付けます。
スタックとして使用する空間をユーザ・ターゲット側にMAPE(EX
E)コマンドで割り付ける場合は、必ずユーザ・ターゲット上のその空間
にRAMを実装する必要があります。
7・ダイアログ・コマンド
159
MAPE 80000000,BFFFFFFF
上の例では、アドレス0x80000000 から 0xbfffffffまでの1Gバイトの空
間をユーザ・ターゲットの資源(外部メモリ)に割り付けます。
現在の設定内容を表示します。
M AP /
E X
参考
使用例
Memory(メモリ種別)欄の略号の意味は、以下の通りです。
Int RAM .............................. 内蔵RAM
Int REG .............................. 特殊レジスタ
Int ROM .............................. 内蔵ROM(または内蔵命令RAM)
ICE ROM .............................. エミュレーションROM
ICE RAM(fast) .......... 高速エミュレーションRAM
ICE RAM(slow) .......... 低速エミュレーションRAM
TARGET ................................. ユーザ・ターゲットメモリ(外部メモリ)
ERROR .................................... アクセス禁止
MONITOR .............................. モニタ使用領域(システムリザーブ)
>mape 80020000~8003ffff
CPU MEMORY MODE : EXMODE
Sadr
Eadr
Memory
00000000 ~ 00003FFF :Int RAM
00004000 ~ 1FFFFFFF :--20000000 ~ 3FFFFFFF :Int REG
40000000 ~ 40003FFF :Int ROM
40004000 ~ 7FFFFFFF :--80000000 ~ 8001FFFF :ICE RAM (fast)
80020000 ~ BFFFFFFF :TARGET
C0000000 ~ FFFFFFFF :MONITOR
>mapi 90000000~9001ffff
CPU MEMORY MODE : EXMODE
Sadr
Eadr
Memory
00000000 ~ 00003FFF :Int RAM
00004000 ~ 1FFFFFFF :--20000000 ~ 3FFFFFFF :Int REG
40000000 ~ 40003FFF :Int ROM
40004000 ~ 7FFFFFFF :--80000000 ~ 8001FFFF :ICE RAM (fast)
80020000 ~ 8FFFFFFF :TARGET
90000000 ~ 9001FFFF :ICE RAM (fast)
90020000 ~ BFFFFFFF :TARGET
C0000000 ~ FFFFFFFF :MONITOR
>
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
その他のハードウェア関連コマンド
160
5
パフォーマンス測定
SMコマンド
RAMモニタのサンプル領域の設定/解除をします。
PROFコマンド
アクセス状態を集計します。
パフォーマンス測定
7・ダイアログ・コマンド
161
オンザフライ
実行に影響しません
SM
機能
:サンプル領域の設定/解除
SM <アドレス>
SMB <アドレス>
SMC <番号>
SMW
SM
RAMモニタ機能のサンプル領域を選択します。
サンプル領域は〈アドレス〉から64ビット(8バイト)単位で32ブロック
(合計256バイト)です。
CTRL+5キーによりRAMモニタの画面とCソースコード・デバッガ
の画面を切り換えて表示します。RAMモニタを表示中に、サンプル領域
を変更するには、SHIFT+矢印キーを使用します(ユーザ・プログラ
ム実行中のみ可能)。
デバッガ画面に戻る場合は、再度CTRL+5キーを押してください。
ユーザ・プログラム実行中に一定時間でメモリのデータ領域(特にRAM領
域)をサンプリングし、データの変化を見ることができます。(RAMモニ
タ機能)もちろんこのときにユーザ・プログラムの実行に影響を与えること
はありません。メモリアクセスされたデータのみをモニタして表示します。
RAMモニタはデータの変化を16進数、ビット単位表示の2通りの表示が
できます。
_(アンダースコア)はアクセスが発生していないアドレスです。
S M <アドレス>
サンプル領域の先頭アドレスの指定
S M B <アドレス>
ビット単位で表示するアドレスの指定
S M C <番号>
ビット単位で表示するアドレスのクリア
S M W
RAMモニタの画面を表示
S M
現在のサンプル領域の表示
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
パフォーマンス測定
162
RAMモニタ画面
16進表示例
RAMモニタ画面
ビット単位表示例
RAMモニタ表示時、以下のサブコマンドが使用できます。
パフォーマンス測定
F1
(Slow)
サンプリング周期を長くします。
F2
(Fast)
サンプリング周期を短くします。
F3
(Bit)
ビット単位で表示します。
F4
(Hex)
16進表示をします。
F5
(Rev)
表示順序を逆転します。
7・ダイアログ・コマンド
使用例
>sm
RAM MONITOR MODE
Monitor Area = 00000000 - 000000FF
>sm 0x800
>smb sec
>smb 0x8f0
>sm
RAM MONITOR MODE
Monitor Area = 00000800 - 000008FF
No. Address
0
0000080C
1
000008F0
>smc 1
>sm
RAM MONITOR MODE
Monitor Area = 00000800 - 000008FF
No. Address
0
0000080C
>sm 1000
>sm
RAM MONITOR MODE
Monitor Area = 00001000 - 000010FF
>
163
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
パフォーマンス測定
164
オンザフライ
実行に影響しません
PROF
機能
:アクセス状態の集計
PROF[ON|OFF|CLR]
PROF
ユーザ・プログラム実行中において、どの関数(サブルーチン)がどれくらいの割合で
アクセスされているかを集計します。
PROF ON
プロファイルのための集計開始を指定します。
PROF OF F
プロファイルのための集計を停止します。
Cソースコード・デバッガ起動時はこの状態です。
PROF CL R
プロファイル情報をクリアします。
PROF
集計したプロファイル情報をもとに時間を多く消費した順に各関数(サブルー
チン)の消費時間とその割合を表示します。
PROF ON/OFFは随時できますから注目したい部分のみプロファイル
結果を見ることも可能です。
・プロファイル機能を使用するためには、あらかじめデバッグ情報を読み込んでお
く必要があります。
・ プロファイル集計中に、マイコン内蔵命令RAMへのオーバレイロードがあった
場合、プロファイル情報は正しく集計されません。
パフォーマンス測定
7・ダイアログ・コマンド
使用例
165
>reset
>prof on
>g
>
----- IM=0 S=0 D0 =0001B072 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC =8000007D
MDR=8000007A LIR=40000000 LAR=00000000 SP =00001FE0
全サンプル数
ユーザ・プログラム
内でサンプルされた
数(デバッグプログ
ラムが費やした数)
インサーキット・エミュ
レータ内でサンプルされ
た数
( システムが費した時間 )
_0cnt60:
mov (200C _sec ),d0
>
>prof
**** Profile ****
トータル サンプル数 = 36784
ユーザサンプル数 = 36784
100.0%
システム サンプル数 = 0
0.0%
No. Addr Name
1. 8000007D _0cnt60
2. 8000004B _0main
3. 80000073 _0display
>
>prof clr
>prof
サンプリングされていません
>prof off
>
Percent
44.9%
31.0%
24.0%
(Sum)
(44.9%)
(75.9%)
(100.%)
Samples
16541
11407
8836
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
PP Q
R
S
T
U
V
W
X
Y
Z
記号
パフォーマンス測定
166
6
データ表示/変更
Cソースコード・デバッガではメモリ,レジスタ、シンボルのデータ表示お
よびその変更を容易に行うことができます。
Dコマンド
メモリ内容をダンプ表示します。表示基数の指定などにより多彩な表示が可
能です。
Eコマンド
メモリ内容を指定値に変更します。
Cコマンド
指定領域のメモリを比較します。
Fコマンド
指定領域のメモリに同一データを書き込み(フィル)します。
Mコマンド
指定領域のメモリのブロック転送をします。
Sコマンド
指定領域のメモリ内のデータ検索をします。
Rコマンド
レジスタ内容の表示/変更をします。
Hコマンド
式の値を8進数、10進数、16進数、アスキーで表現します。
PRINTF/PFコマンド
指定のフォーマットによる表示をします(C言語のprintf関数と同等なフォー
マット表示)。
Xコマンド
シンボルを表示します。
.コマンド
シンボル登録/変更をします。
データ表示/変更
7・ダイアログ・コマンド
167
オンザフライ
実行に影響します
D
機能
:メモリ内容のダンプ表示
D[<アドレスS>][,<アドレスE>][,<カウント>][,{/H | /D | /O}]
DB [<アドレスS>][,<アドレスE>][,<カウント>][,{/H | /D | /O}]
DW [<アドレスS>][,<アドレスE>][,<カウント>][,{/H | /D | /O}]
DD [<アドレスS>][,<アドレスE>][,<カウント>][,{/H | /D | /O}]
DS [<アドレスS>][,<アドレスE>]
DL [<アドレスS>][,<アドレスE>]
DA [<アドレスS>][,<アドレスE>][,<カウント>]
メモリ内容を指定された基数(8進、10進、16進数、アスキーのいずれか)に従っ
て表示します。
Cソースコード・デバッガの起動時のDコマンドの表示基数は16進数です。また、
Dコマンドを実行した直後に↓またはCTRL+Xキーを入力するとDコマンド表示
の続きを1行分表示します。
<カウント>は一行に表示するデータの個数で、最大29(0x1D)まで指定でき
ます。
オプション
適用
省略時
<アドレスS>
<アドレスE>
表示開始アドレス
前回表示された次のアドレスから表示
表示終了アドレス
1行に表示するデータの個数
1行分の表示
16,8,4のいずれかの個数(1行に表示できる
範囲)を表示
前回表示された基数で表示
前回表示された基数で表示
前回表示された基数で表示
<カウント>
/H
/D
/O
16進表示指定
10進表示指定
8進表示指定
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
168
D/DB
バイト(8ビット)表示
DW
ワード(16ビット)表示
DD
ダブルワード(32ビット)表示
DS
4バイト実数(ショートフロート)表示
DL
8バイト実数(ロングフロート)表示
DA
アスキー表示
使用例
>d 100
00000100 86 74 CD 70 E8 95 98 BA B1 B6 EB D2 7F 2A 99 4E
>d main
80000029 F8 FE F8 DD 16 00 00 00 00 08 DD 19 00 00 00 00
>dw main
80000029 FEF8 DDF8 0016 0000 0800 19DD 0000 0000
>dd main,/o
80000029 33576177370 00000000026 03167204000 00000000000
データ表示/変更
7・ダイアログ・コマンド
169
オンザフライ
実行に影響します
E
機能
:指定したメモリ内容の変更
E [<アドレスS>][,<データ>]
EB [<アドレスS>][,<データ>]
EW [<アドレスS>][,<データ>]
ED [<アドレスS>][,<データ>]
ES [<アドレスS>][,<データ>]
指定されたアドレスのメモリ内容を8ビット、16ビット、32ビット単位で変更します。
実数での変更の場合は、指定されたアドレスのメモリ内容を4バイト実数で変更します。
オプション
適用
省略時
<アドレス>
<データ>
変更開始アドレス
書き込むデータ値
(最大16個)
前回のEコマンドの次のアドレスから開始
データ入力モードに入り、指定アドレスと現在のメモリ
内容をアスキー、8進/10進/16進数で表示し変更
データ入力待ち
E/EB
バイト(8ビット)変更
E W
ワード(16ビット)変更
E D
ダブルワード(32ビット)変更
E S
4バイト実数(ショートフロート)変更
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
170
参考
データ入力モードに関する規則
(1)指定されたアドレスのメモリ内容を表示後、データ入力モードに
なります。このとき、カンマ( ,)で区切って複数個の数値デー
タ(最大16個)の入力ができます。また、Eコマンドではクォ
ーテーション( ’)で囲んだ最大16文字までの文字列の設定
を行うことができます。
(2)変更を行わずに次のアドレスに進むにはリターンキーだけを入力
します。次のアドレスとメモリ内容が表示されデータ入力待ちと
なります。
(3)前のアドレスに戻る場合は、'−' (マイナス)を入力します。前
のアドレスとメモリ内容が表示されデータ入力待ちとなります。
(4)データ入力モードで、“org<アドレス> ”キーまたは単に
↵
“/<アドレス> ↵
”と入力することにより、アドレスを指定
アドレスに変更できます。
.↵ キーを入力します。
(5)Eコマンドを終了するためには、
使用例
>e sec
address
0000000C
0000000D
0000000E
0000000F
0000000E
0000000D
00000100
00000101
00000102
>
asc
'£'
'.'
'!'
'I'
'.'
'.'
'.'
't'
'Õ'
oct dec hex
243 -93 A3
373
-5 FB
041
33 21
111
73 49
005
5 05
000
0 00
206 -122 86
164 116 74
315 -51 CD
data
0
0
5
/100
0
0
.
特殊レジスタ領域など未実装ビットがあるデータRAM、書き込みのみ
のデータRAM、読み込みのみのROM領域の値を変更した場合にはV
erifyエラーが発生します。
データ表示/変更
7・ダイアログ・コマンド
171
オンザフライ
実行に影響します
C
機能
:指定したメモリ内容の比較
C <アドレスS>,<アドレスE>,<アドレスD>
<アドレスS>から<アドレスE>の範囲のメモリを<アドレスD>からのメモリ内容と
比較し、違いが見つかったときはそのアドレスとデータをコマンド・ウィンドウに表
示します。
表示がウィンドウにおさまりきらない場合、この比較を中断するか、続けるかどうか
のメッセージが出力されます。中断する場合は、CTRL+C、続ける場合はその他
のキーを押してください。
使用例
>d 0,2f
00000000 DC 06 00 00 00 FF
00000010 F1 00 60 20 04 29
00000020 00 00 F8 FE 04 CA
>d 80000000,8000002f
80000000 DC 06 00 00 00 CB
80000010 F1 00 60 20 04 29
80000020 00 00 F8 FE 04 CA
>
>c 0,2f,80000000
Compare 開始
00000005 FF CB 80000005
0000000B D7 90 8000000B
00000017 08 C1 80000017
24 00
FC 08
F4 CB
01 F2 F0 D7 00 2D 00 20
FB F8 FE FC FC FF 0D 00
CB F8 FE F8 DD 16 00 00
24 00
FC C1
F4 CB
01 F2 F0 90 00 2D 00 20
FB F8 FE FC FC FF 0D 00
CB F8 FE F8 DD 16 00 00
Compare 終了
>
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
172
オンザフライ
実行に影響します
F
機能
:指定範囲のメモリをデータの値でフィル
F<アドレスS>,<アドレスE>,<データ>
FB<アドレスS>,<アドレスE>,<データ>
FW<アドレスS>,<アドレスE>,<データ>
FD<アドレスS>,<アドレスE>,<データ>
<アドレスS>から<アドレスE>のアドレス範囲のメモリを同一の<データ>値で
満たします(フィル)。
<データ>の長さがアドレス範囲よりも短いときは、指定範囲内のメモリがすべて
満たされるまで繰り返し<データ>の値を用います。<データ>は1個から最大1
6個までのデータ要素を記述できます。
F/FB
バイト(8ビット)フィル
FW
ワード(16ビット)フィル
FD
ダブルワード(32ビット)フィル
特殊レジスタ領域をフィルすることはできません。
データ表示/変更
7・ダイアログ・コマンド
A
B
C
C
D
E
F
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
使用例
>d 80000000,8000003f
80000000 DC 06 00 00 00
80000010 F1 00 60 20 04
80000020 00 00 F8 FE 04
80000030 00 00 08 DD 19
>f 80000000,8000002f,55
>d 80000000,8000003f
80000000 55 55 55 55 55
80000010 55 55 55 55 55
80000020 55 55 55 55 55
80000030 00 00 08 DD 19
>
CB
29
CA
00
24
FC
F4
00
00
C1
CB
00
01
FB
CB
00
F2
F8
F8
08
F0
FE
FE
DC
90
FC
F8
F9
00
FC
DD
FF
2D
FF
16
FF
00
0D
00
FF
20
00
00
DF
55
55
55
00
55
55
55
00
55
55
55
00
55
55
55
00
55
55
55
08
55
55
55
DC
55
55
55
F9
55
55
55
FF
55
55
55
FF
55
55
55
FF
55
55
55
DF
173
記号
データ表示/変更
174
オンザフライ
実行に影響します
M
機能
:指定範囲のメモリのブロック転送
M<アドレスS>,<アドレスE>,<アドレスD>
<アドレスS>から<アドレスE>までの範囲のメモリブロックを<アドレスD>か
ら始まるメモリ位置にブロック転送します。
使用例
>d 0,2f
00000000 FF FF FF FF FF
00000010 FF FF FF FF FF
00000020 FF FF FF FF FF
>d 80000000,8000002f
80000000 DC 06 00 00 00
80000010 F1 00 60 20 04
80000020 00 00 F8 FE 04
>m 80000000,8000002f,0
>d 0,2f
00000000 DC 06 00 00 00
00000010 F1 00 60 20 04
00000020 00 00 F8 FE 04
>
FF FF FF
FF FF FF
FF FF FF
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF
CB 24 00
29 FC C1
CA F4 CB
01 F2 F0 90 00 2D 00 20
FB F8 FE FC FC FF 0D 00
CB F8 FE F8 DD 16 00 00
CB 24 00
29 FC C1
CA F4 CB
01 F2 F0 90 00 2D 00 20
FB F8 FE FC FC FF 0D 00
CB F8 FE F8 DD 16 00 00
................
................
................
特殊レジスタ領域にブロック転送することはできません。
データ表示/変更
7・ダイアログ・コマンド
175
オンザフライ
実行に影響します
S
機能
:メモリのパターン検索
S<アドレスS>,<アドレスE>,<検索パターン>
SB<アドレスS>,<アドレスE>,<検索パターン>
SW<アドレスS>,<アドレスE>,<検索パターン>
SD<アドレスS>,<アドレスE>,<検索パターン>
<アドレスS>から<アドレスE>のアドレス範囲で<検索パターン>に一致するメモリ
のアドレスを表示します。
オプション
適用
<アドレスS>
検索開始アドレス
<アドレスE>
検索終了アドレス
<検索パターン>
最大16個のデータを指定、S,SBコマンドの<検索パターン>にはクォーテーショ
ン( ’)で囲んだ16文字までの文字列の指定ができます。
S/SB
バイト(8ビット)検索
S W
ワード(16ビット)検索
S D
ダブルワード(32ビット)検索
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
176
使用例
>d 80000000,8000002f
80000000 DC 06 00 00 00 FF 24 00
80000010 F1 00 60 20 04 29 FC C1
80000020 00 00 F8 FE 04 CA F4 CB
>s 80000000,8000002f,ff
80000005
8000001D
>
データ表示/変更
01 F2 F0 90 00 2D 00 20
FB F8 FE FC FC FF 0D 00
CB F8 FE F8 DD 16 00 00
7・ダイアログ・コマンド
R
177
:レジスタ値の表示/変更
R
R{ <レジスタ名 >|<フラグ名 >}
<レジスタ名 > + REG =< 値 >
<フラグ名> + FLG=< 値 >
レジスタの内容の表示および変更を行います。
Rコマンドで使用できるレジスタ/フラグ名は、次の通りです。
<レジスタ名>
A0,A1,A2,A3,D0,D1,D2,D3,MDR
LIR,LAR,SP,PC,PSW
<フラグ名>
C (キャリー・フラグ)
Z (ゼロ・フラグ)
N (ネガティブ・フラグ)
V (オーバフロー・フラグ)
IE(割込みイネーブルフラグ)
IM(割込みマスクレベル)
R
すべてのレジスタとフラグの内容を16進数で表示します。
R { <レジスタ名>∼
<レジスタ名>/<フラグ名>の内容を表示し入力待ちとなります。
ここで、値を入力すると指定レジスタの値が新しい値に変更されます。リター
ンキーだけを押すとレジスタ値の変更は行われずにCソースコード・デバッ
ガのコマンドモードに戻ります。
<レジスタ名> + REG=<値>
<フラグ名> + FLG=<値>
指定されたレジスタ/フラグの値を変更します。
フラグの状態を変更するときはフラグ名+FLG(例えばCフラグはCFL
G)と記述します。
参考 レジスタ・ウィンドウをオープン(F2またはCTRL+4キー)
しておけば常に最新のレジスタの内容を参照できます。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
178
使用例
>r
—— IM=0 S=0
PSW=0000
PC =40000000
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=00000000 LAR=00000000 SP =00000100
jmp 80000000
>d0reg=12345678
>r
—— IM=0 S=0
D0 =12345678 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC =40000000
MDR=00000000 LIR=00000000 LAR=00000000 SP =00000100
jmp 80000000
>cflg=1
>r
—C— IM=0 S=0
D0 =12345678 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0004
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC =40000000
MDR=00000000 LIR=00000000 LAR=00000000 SP =00000100
jmp 80000000
>_d2=abcdef
>r
—C— IM=0 S=0
D0 =12345678 D1 =00000000 D2 =00ABCDEF D3 =00000000
PSW=0004
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC =40000000
MDR=00000000 LIR=00000000 LAR=00000000 SP =00000100
jmp
80000000
>
データ表示/変更
7・ダイアログ・コマンド
179
オンザフライ
実行に影響しません
H
機能
:式の演算結果表示
H< 式 >
H< 式1 >,< 式2 >
式の演算結果の表示をします。
H
<式>
指定された<式>を8/10/16進数、およびアスキーで表示します。
H
<式1> , <式2>
<式1>と<式2>の2つの式の値で加算結果と減算結果を表示します。
また、2つの式をあわせて(<式1>が上位32ビット、<式2>が下位32ビッ
ト)64ビットとし8バイト実数(ロング・フロート)の値を表示します。
Hコマンドはすべての式を32ビットの値として扱います。例えば、
10進数の−1を16進表現した場合は、0xffffではなく0xffffffff
となります。
使用例
>h 1234>>8
oct
00000000022
>h 1a+b
oct
00000000045
>h 20*5
oct
00000000240
>
dec
18
hex
00000012
asc
'....'
dec
37
hex
00000025
asc
'...%'
dec
160
hex
000000A0
asc
'...†'
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
180
オンザフライ
実行に影響しません
PRINTF/PF
機能
:フォーマット表示
PRINTF<フォーマット>[,<パラメータ>]
PF<フォーマット>[,<パラメータ>]
C言語のprintf関数と同等なフォーマット表示を行います。
PRINTFコマンドとPFコマンドは同じ機能です。
<パラメータ>
16ビットのデータ幅で最大10個まで指定できます。
ロング(32ビット)のフォーマット指定のある場合には2パラメータ必要で
す。
マイナス符号(−)
変換された引数をフィールドの左詰めとします。
数 値(フィールド幅を表わす10進数)
変換された数値または文字列は数値で示したフィールドに表示します。数値、
文字列のフィールドが数値で示したフィールド幅より短い場合には左側(マイ
ナス符号により左詰め指定のあるときには右側)にブランク(空白)を補って
表示します。
変換キャラクタ
&d 引数を10進数に変換します。
&u 引数を符号なし10進数に変換します。
&x 引数を16進数に変換します。
&o 引数を8進数に変換します。
&c 引数をキャラクタとして扱います。
&s 引数を文字列として扱います。
データ表示/変更
7・ダイアログ・コマンド
参考
使用例
181
・C言語のprintfの % にあたる変換開始キャラクタは & です。
・& と変換キャラクタ( d,c,s など)の間でフィールド形式を指定
することができます。
・C言語と同様に¥はエスケープ記号として動作します。
>?sec
(int [2]) @0000200C {7,3}
>pf ‘&x’,sec
200C
>pf ‘&x’,*sec
7
>pf ‘&x’,*sec|10
17
>pf ‘&x’,*sec&4
4
>pf ‘&x’,*sec&8
0
>r
—CN- IM=0 S=0 D0 =00000007 D1 =00000000 D2 =00ABCDEF D3 =00000000
PSW=0006
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
PC =80000094
MDR=8000007A LIR=40000000 LAR=00000000 SP =00001FE0
jmp 800000C3
>pf ‘&x’,mdrreg
8000007A
>
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
182
オンザフライ
実行に影響しません
X
機能
:現在登録されているシンボルの表示
X
X <シンボル名>
現在登録されているグローバルシンボルのシンボル名とその内容を表示します。
X
すべてのシンボルを表示します。
X <シンボル名>
<シンボル名>指定されたシンボルを表示します。
<シンボル名>には * と ? のワイルドカード(MS−DOSのワイルドカー
ドと同機能)が利用できます。
*
すべてのパターンと一致
?
すべての1文字と一致
<シンボル名>は通常のシンボルの記述とは異なり、シンボルにCコンパ
イラが自動的に付加する1文字目のアンダースコア( _ )を省略する
ことはできません。
データ表示/変更
7・ダイアログ・コマンド
使用例
>x
00000000 _i
00000004 _test
0000000C _sec
80000000 _Reset
80000029 _main
8000002C _0main
80000042 _initialize
80000042 _0initialize
8000004C _display
8000004C _0display
80000056 _0cnt60
80000056 _cnt60
8000009F _init_data
8000009F _0init_data
>tmp1=80001234
シンボルを登録しました
>x
00000000 _i
00000004 _test
0000000C _sec
80000000 _Reset
80000029 _main
8000002C _0main
80000042 _initialize
80000042 _0initialize
8000004C _display
8000004C _0display
80000056 _0cnt60
80000056 _cnt60
8000009F _init_data
8000009F _0init_data
80001234 tmp1
>tmp1=*
>x
00000000 _i
00000004 _test
0000000C _sec
80000000 _Reset
80000029 _main
8000002C _0main
80000042 _initialize
80000042 _0initialize
8000004C _display
8000004C _0display
80000056 _0cnt60
80000056 _cnt60
8000009F _init_data
8000009F _0init_data
>__debinf__=*
>x
デバッグ情報がありません
>d 100
00000100 86 74 CD 76 E8 95 98 BA
>j=*100
シンボルを登録しました
>x
76CD7486 j
>
B1 B6 EB D2 7F 2A 99 4E
183
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
184
オンザフライ
実行に影響しません
.
機能
:シンボルの登録/変更/削除
.]
[
<シンボル名>= <アドレス>
<シンボル名> ↵ <アドレス>
.]
[
<シンボル名>=*
このコマンドはシンボルの登録/変更/削除を行うコマンドです。
.]は省略可能です。
行頭のピリオド[
.] <シンボル名>
<シンボル名>に、即値<アドレス>を設定(登録)します。
[
= <アドレス>
↵
.<シンボル名>
<アドレス>
シンボル名とその設定値を分けて入力します。Cソースコード・デバッガのコ
.<シンボル名> を入力すると次の行はたとえマクロ・コ
マンド・モードより
マンドの中であっても1行キー入力モードとなりシンボルの設定値の入力待ち
となります。この入力方法はマクロ内でのデータの設定を行う場合に有効な機
.」は省略できません。
能です。この指定の場合、「
[
.] <シンボル名>=*
指定されたシンボルをシンボルテーブルから削除します。
Cソース・コード・デバッガで予約されている特殊シンボルに_ _DEBIN
F_ _があります。このシンボルを指定し、
_ _DEBINF_ _= *
↵
と入力することで、すべての登録済みのシンボルを削除することができます。
この場合、ソースライン情報も削除されます。
シンボルはマクロ・コマンドでは変数として利用されます。例えば、
使用例
i=0
do{
T
; シングルステップ実行コマンド
i=i+1
}while i<3
では、シンボルiでDO{..}WHILEコマンドのループ変数として使用
されています。これは3回ステップ実行させるための記述例です。
データ表示/変更
7・ダイアログ・コマンド
185
CPUのレジスタ名【 Rコマンド】と同名のシンボルを登録するとき
☞
は、ピリオド( )は省略できません。ピリオド( )を省略した場合は、
レジスタの変更コマンドとなります。
.
使用例
>x
00000000 _i
00000004 _test
0000000C _sec
80000000 _Reset
80000029 _main
8000002C _0main
80000042 _initialize
80000042 _0initialize
8000004C _display
8000004C _0display
80000056 _0cnt60
80000056 _cnt60
8000009F _init_data
8000009F _0init_data
>tmp1=80000020
シンボルを登録しました
>tmp2=80001234
シンボルを登録しました
>x
00000000 _i
00000004 _test
0000000C _sec
80000000 _Reset
80000020 tmp1
80000029 _main
8000002C _0main
80000042 _initialize
80000042 _0initialize
8000004C _display
8000004C _0display
80000056 _0cnt60
80000056 _cnt60
8000009F _init_data
8000009F _0init_data
80001234 tmp2
>__debinf__=*
>x
デバッグ情報がありません
>
>d 100
00000100 86 74 CD 76 E8 95 98 BA
>j=*100
シンボルを登録しました
>x
76CD7486 j
>k=*100&ffff
シンボルを登録しました
>x
00007486 k
76CD7486 j
>
.
B1 B6 EB D2 7F 2A 99 4E
【 Rコマンド、Xコマンド】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
データ表示/変更
186
7
コード表示/変更
Cソースコード・デバッガではコード・ウィンドウに逆アセンブル結果また
はソースを表示します。この表示内容の変更はウィンドウ・コマンドで容易
に切り換えて参照できるようになっています。同様な処理をVコマンドやU
コマンドのダイアログ・コマンドでも実行できます。
☞
【ウィンドウ・コマンド 第6章】
Vコマンド
コード・ウィンドウにソースを表示します。
Uコマンド
コード・ウィンドウに逆アセンブル結果を表示します。
Aコマンド
ライン・アセンブルを 行います。
Kコマンド
Cのスタック・フレームのバックトレースを行います。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
コード表示/変更
7・ダイアログ・コマンド
187
オンザフライ
実行に影響しません
V
機能
:コード・ウィンドウへ指定位置からのソース行表示
V [.][<ファイル名>:][<行>]
V<シンボル>
コード・ウィンドウへ指定されたソース行を表示します。
V [ .] [<ファイル名>:] [<行>]
<ファイル名>で指定されたファイル内容を指定行から表示します。
<行>指定が省略された場合には、ファイルの第1行目の指定となります。
<ファイル名>が省略された場合には、現在のコード・ウィンドウに表示して
いるソース ファイルの指定となります。また、Vコマンドではソース情報を
持たないファイル指定も可能となっています。すなわち、エディタと同じよ
うに任意のアスキーファイルをコード・ウィンドウに読み込むことができま
す。
V <シンボル名>
<シンボル名>で指定された関数のあるソースファイル表示をします。
ウィンドウ・コマンドのF1キーによってファイル選択ウィンドウをオープ
ンして表示ファイルを変更できます。
・Vコマンドでソース行情報のないファイルをオープンした場合、その
ファイル内でソース単位の実行/ソース指定によるコマンド入力はで
きません。
Vコマンドは、環境変数PANASRCが設定されている場合には、
その環境設定がされているディレクトリ内のファイルを表示します。
設定されていなければ、カレント・ディレクトリ内のファイルを表示
します。
・行番号を省略する場合も、ファイル名の後に:(コロン)が必要です。
使用例
シンボルinit_dataの
定義されている場所からコー
ド・ウインドウにソースを表示
>v init_data
>v startup.asm:
startup.asm ファイルをコー
ド・ウィンドウに表示
【Uコマンド
☞
第6章 ウィンドウ ・コマンド】
コード表示/変更
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
188
オンザフライ
実行に影響します
U
機能
:逆アセンブル表示
U [<アドレス>]
UPUSH [<アドレス>]
UPOP
UEND
UX [<アドレスS>] [,<アドレスE>]
<アドレス>で指定されたメモリ内容をコード・ウィンドウ、コマンド・ウィンドウに1
画面分逆アセンブル表示します。
コード・ウィンドウ内の逆アセンブル表示は↑,↓やROLL UP,ROLL DO
WNキーなどでスクロールアップ/ダウンが容易にできます。
U
指定アドレスからコード・ウィンドウに逆アセンブル表示します。
[<アドレス>]
<アドレス>の指定で、有効なシンボルを指定することも可能です。
U PU S H
[<アドレス>]
現在の表示アドレスをアドレススタック(8段の内部スタック)にPUSHし
て指定アドレスを逆アセンブル表示します。
U PO P
最後にUPUSHされたアドレスより逆アセンブル表示してアドレススタック
をPOPします。
U EN D
最後にUPUSHされたアドレスより逆アセンブル表示します。
U X
指定アドレスからコマンド・ウィンドウに逆アセンブル表示します。
[<アドレスS>]
[,<アドレスE>]
<アドレスE>が指定された場合、そのアドレスまでコマンド・ウィンドウに
表示します。<アドレスE>が省略された場合は、コマンド・ウィンドウのサ
イズ(行数)の範囲内で表示を行います。このコマンドは逆アセンブル結果を
ファイルにセーブしたい場合に便利です。【 ☞ >コマンド】
コード表示/変更
7・ダイアログ・コマンド
189
使用例
シンボルmainからの逆ア
センブルをコマンド・ウィン
ドウに表示
80000000∼8000005F番地の
逆アセンブル出力をtest.log
ファイルにセーブ
>u main
>ux cnt60
_cnt60:
SAMPLE.C:0043:
sec[0]++;
80000056 FCA40C000000
mov
(0C _sec ),d0
8000005C 40
inc
d0
8000005D FC810C000000
mov
d0,(0C _sec )
>
>>test.log
>ux 80000000,8000005f
>>
>
【 Vコマンド、Aコマンド】
☞
参考
逆アセンブル表示規則
(1)レジスタ名と即値の区別
レジスタ名と即値の区別を明確にするため、即値は大文字
で表示します。
<例>
MOV d0,a0 D0レジスタ→A0レジスタ
MOV D0,a0 即値0xd0→A0レジスタ
(2)コードウインドウ内の逆アセンブル表示は、↑,↓,RO
LL UP,ROLL DOWNキーでスクロールアップ
/ダウンができます。
ただし、↑,ROLL UPキーを押した場合、表示する
先頭アドレスがたまたまオペラント部のアドレスの場合、
以降の命令がずれて表示されます。
コード表示/変更
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
190
オンザフライ
実行に影響します
A
機能
:ライン・アセンブル入力
A [<アドレス>]
Aコマンドを入力するとニーモニック入力モードになり指定アドレスを表示して
ニーモニックの入力待ちとなります。<アドレス>指定が省略された場合には前回
のAコマンドの次のアドレスから開始されます。
入力されたニーモニックはアセンブルされ、その命令コードが指定されたアドレ
スのメモリへ格納されます。入力したニーモニックが正しければアドレスの右横
に格納した機械語コードが表示され、次の入力待ち状態になります。
アセンブル入力モードからCソースコード・デバッガのコマンド・モードに戻る
.↵
場合は、
参考
キーを押してください。
アセンブル入力モードでのサブコマンド
/<アドレス>
アドレスを変更
ORG<アドレス>
アドレスを変更
↵
次のアドレスへ
−
<シンボル> :
DB<データ>
DW<データ>
DD<データ>
前のアドレスへ
シンボルの登録
8ビットのデータを格納
16ビットのデータを格納
32ビットのデータを格納
16進のA∼Fで始まる即値はレジスタ名と区別するために、先頭
に0を付加してください。
使用例
アドレスを80000062番地に
変更
"???"は入力エラーを示し
ます。
>a 80000000
80000000
80000003
80000006
80000062
???
80000062
80000068
>
add 16,sp
jmp 80000062
/80000062
add &ffee,sp
add ffee,sp
.
☞
【 Vコマンド、Uコマンド】
コード表示/変更
7・ダイアログ・コマンド
K
191
:バックトレース
K
Cのスタックフレームのバックトレースを行い、現在の関数がmainの関数から呼ば
れてきた過程(アドレス)を表示します。
オプション・ウィンドウでバックトレースを選択すれば、オプション・ウィンドウに常
に最新の状態のバックトレースを表示します。
Kコマンドは、Cのデバッグ・モード時のみ有効となります。
コード表示/変更
A
A B
B
C
C D
D
E
E F
F
G
G H
H
II JJ
K
K L
L
M
M
N
N
O
O P
P
Q
Q R
R
S
S T
T
U
U V
V
W
W
X
X
Y
Y Z
Z
記号
記号
192
8
ウォッチ表示
Cソースコード・デバッガではウォッチ・ウィンドウに、デバッグ上で重要なメモ
リ内容、変数などを指定形式で表示する機能をもっています。この機能を利用すれ
ば、デバッグする上で最も注意しなければならないチェック・ポイントの最新のデー
タ内容を常に表示できます。従って、従来のデバッガのようにブレークやステップ
実行をした後にデータ表示コマンドを入力する手間がかからなくなり、デバッグ中
の思考を中断することなくスムーズで快適なデバッグができます。
INSコマンド
指定されたCの式またはシンボルの内容を表示します。
Wコマンド
指定されたメモリ内容または変数をウォッチ登録します。
VAL/?コマンド
Cの式または変数の内容を表示します。
Yコマンド
指定されたウォッチを削除します。
ウォッチ表示
7・ダイアログ・コマンド
193
A 機能
使用できません
ローカル変数:
B
:インスペクト
C D
INS <変数名>[, <関数名>]
E F
指定された変数、配列、ビット値をその変数のデータに従って、インスペクト・ウィン
ドウに表示します。ローカル変数は<関数名>で指定された関数内のローカル変数が対 G 象となります。<関数名>を省略した場合には、カレント関数となります。
H
このとき以下のローカル・コマンドが使えます。
I J
ポインタ、配列あるいは構造体のインスペクト時にそのウィンドウを画面一杯 K F4 (Zoom)
に広げます。要素数の多い配列などを参照するのに非常に便利です。また、画
L
面一杯に広がった状態のときにこのキーを押すとウィンドウは元のサイズに戻
ります。
M N
スカラー表示では10進数と16進数の両方の値が表示されます。しかし、複
F5 (16< >10)
O 数要素を持った配列や構造体では1行にできるだけ多くの要素を表示するため に10進(デフォルト)あるいは16進のいずれか一方しか表示しません。こ
P
の基数をF 5キーで変更します。
Q R
F6 / CTRL + I / I カーソルキーによって選択した配列や構造体の要素(反転表示)を新しくオー プンしたインスペクト・ウィンドウに表示します。
(Inspct)
S ESCキーにより1レベルずつインスペクト・ウィンドウをクローズします。 T
F7 / CTRL +W / W インスペクトした変数あるいは選択した要素をウォッチ・ウィンドウにウォッ
U チ登録します。
(Watch)
V
W
X
Y Z
記号
グローバル変数: 実行に影響します
INS
ウォッチ表示
オンザフライ 194
F8 / CTRL + V / V
インスペクトした変数あるいは選択した要素をコマンド・ウィンドウに
ビュー表示します。
(View)
F9 / CTRL + R / R
配列あるいはポインタの表示要素番号と、その最大要素番号を変更します。
このキーを押すと、参照する要素番号を入力するウィンドウがオープンさ
(Range)
れ、反転表示で現在の表示要素と最大要素番号が表示されます。ここで、
表示要素番号と最大表示要素番号(省略可)を入力してください。行入力
時には、シェル機能のヒストリや行編集機能の使用が可能です。
このコマンドは大きな配列の中を参照する場合やポインタの前後の領域を
参照するのに非常に便利な機能です。
インスペクトした変数または選択した要素の値を変更します。このコマン
F10 (Change)
ドで変更できる変数はスカラー(char,intなど)属性か、ポインタ属性を
もったものに限られます。
このキーを押すと変更する数値(式)を入力するウィンドウがオープンさ
れます。ここで数値を入力し、それを評価してエラーがなければその値に
変数値を変更します。行入力時には、シェル機能のヒストリや行編集機能
☞ 第6章-3-1】
の使用が可能です。【インスペクト機能 ウォッチ表示
7・ダイアログ・コマンド
グローバル変数: 実行に影響しません
ローカル変数:
使用できません
W
195
オンザフライ
機能
:ウォッチ登録
W<アドレス>[,<カウント>][,{/H | /D | /O}]
WB<アドレス>[,<カウント>][,{/H | /D | /O}]
WW<アドレス>[,<カウント>][,{/H | /D | /O}]
WD<アドレス>[,<カウント>][,{/H | /D | /O}]
WA<アドレス>[,<カウント>][,{/H | /D | /O}]
WS<アドレス>
W?Cの式
指定されたメモリ内容またはシンボルをウォッチ登録します。ウォッチ指定はDコマン
ドと同様な多くの表示パターン(フォーマット)があります。ウォッチ登録されるとウォッ
チ・ウィンドウにその内容が指定フォーマットで表示されます。
<カウント>は1行に表示するデータの個数を指定し、最大29(0x1D)までです。
WAのみ最大99(0x63)です。
オプション
適用
省略時
<アドレス>
ウォッチアドレス
エラー
<カウント>
1行に表示するデータの個数
1データ表示、WAの場合は32文字分表示
/H
16進表示指定
16進数表示
/D
10進表示指定
16進数表示
/O
8進表示指定
16進数表示
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
ウォッチ表示
196
W/W B
バイト(8ビット)表示
W W
ワード(16ビット)表示
W D
ダブルワード(32ビット)表示
W A
アスキー表示(8ビット単位)
W S
4バイト実数(ショートフロート)表示
W ?
Cの式表示
使用例
>w sec
>w? sec[1]
>w 100,5
>
【 Yコマンド】
☞
参考 Cの変数にはローカル変数などのスコープ(使用可能範囲)の限定された変
数が存在します。そのため、プログラム・カウンタの位置によって評価不能
になる場合があります。(Cコンパイラでローカル変数のレジスタ割り付け
を自動で行なう場合など)この場合のウォッチ・ウィンドウのCの式の値は”????”
表示に変わります。
ウォッチ表示
7・ダイアログ・コマンド
グローバル変数: 実行に影響しません
ローカル変数:
使用できません
VAL/?
197
オンザフライ
機能
:Cの式評価
VAL<Cの式>[, <関数名>]
VAL<変数名>[, <関数名>]
? <Cの式>[, <関数名>]
? <変数名>[, <関数名>]
Cの式または変数の内容を表示します。
ローカル変数は<関数名>で指定された関数内のローカル変数が対象となります。
<関数名>を省略した場合には、現在のカレント関数となります。
V A L <Cの式>∼
? <Cの式>∼
V A L <変数名>∼
? <変数名>∼
式の型とその値を表示します。
変数の型、変数名および変数値を表示します。<変数名>には*と?のワイル
ドカードが使用できます。
*
すべてのパターンと一致
?
すべての1文字と一致
↵
例えば、? ab* とコマンド入力すると
ab で始まるすべての変数を表
示します。
Cの式または変数の表示は、配列など複数の要素を持ったものの場合には
{ }でくくり、できるだけ多くの内容を一行に表示します。
ウォッチ表示
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W X
Y Z
記号
198
VALコマンドは代入演算子や++,− −など副作用のある演算子を使用
できます。?コマンドで副作用のある演算子を使用すると「副作用のある
演算子は使用できません」と表示しエラーとなります。
・ データ参照のみの場合はVALコマンドを使用せず、意識的にコマン
ドを使用してください。
・ データ変更など副作用のある演算子を使用する場合はVALコマンド
を使用してください。Cの式の評価で誤って(例えば、==と=を間
違えるなどのミスにより)プログラム内の変数を変更してしまうこと
はなくなります。
・ VALコマンドおよび?コマンドではCの式に含まれる全ての変数が
現在使用可能状態でなければなりません。
?コマンドの使用例としてキャスト演算子を使用した例を挙げます。キャスト
演算子をうまく使用するとメモリ内容を分かりやすい形式で表示できます。
使用例
>d sec
0000000C
08 00 00 00 03 00 00 00
00 00 00 00 00 00 00 00
................
00 00 00 00 00 00 00 00
................
>? sec
(int [2]) @0000000C {8,3}
>d
0000001C
00 00 00 00 00 00 00 00
>
【インスペクト機能 ☞ 第6章-3-1】
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
ウォッチ表示
7・ダイアログ・コマンド
199
オンザフライ
実行に影響しません
Y
機能
:ウォッチ削除
Y { <リスト>|*}
Wコマンドで設定されたウォッチ登録を削除します。
<リスト>が指定されたときは、指定された番号のウォッチ登録が削除されます。また、
*が指定されたときは、設定されているすべてのウォッチ登録を削除し、ウォッチ・
ウィンドウをクローズします。
Y 1,2,7 ↵
この例では、ウォッチ登録1,2,7が削除されます。
Y * ↵
この例では、すべてのウォッチ登録が削除されウォッチ・ウィンドウはクローズされ
ます。
【 ☞ Wコマンド】
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
ウォッチ表示
200
9
システム制御コマンド
Cソースコード・デバッガの終了、ヘルプ、サブ・プロセス、ヒストリなどの
システム制御に関するコマンドとして以下のダイログ・コマンドが用意されて
います。
Q/EXITコマンド
Cソースコード・デバッガを終了します。
HELPコマンド
ヘルプメッセージを表示します。
!コマンド
サブ・プロセスを実行します。
!!/!コマンド
ヒストリ表示/検索をします。
システム制御コマンド
7・ダイアログ・コマンド
201
オンザフライ
実行に影響します
Q/EXIT
機能
:Cソースコード・デバッガの終了
Q
EXIT
Cソースコード・デバッガを終了し、MS−DOSに制御を戻します。
ただし、サブ・プロセスが動作した状態ではCソースコード・デバッガを終了できま
せん。この場合、次のようなエラーメッセージが表示されCソースコード・デバッガ
のプロンプトに戻ります。
“サブプロセスが終了していません”
この場合、サブ・ プロセスを終了後にQ/EXITコマンドを実行してください。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
システム制御コマンド
202
オンザフライ
実行に影響しません
HELP
機能
:ヘルプ画面の表示
HELP
ヘルプ表示画面に切り換え、ヘルプメニューを表示します。このとき反転表示した部
分は→,←,↑,↓キーによって任意のメニュー位置に移動できます。
↵
キー入力によりヘルプメニューで選択したヘルプ内容を表示します。また、ヘル
プ画面表示中にESCキーを押すとデバッグ画面にもどります。
Cソースコード・デバッガのヘルプ機能を使用するためには、カレント・ディレク
トリまたは環境変数HELPで指定されたディレクトリにヘルプファイルPT103.HLP
がなければいけません。
コマンド入力の後、画面表示はヘルプ画面に切り替わります。
サンプル画面
システム制御コマンド
7・ダイアログ・コマンド
203
オンザフライ
実行に影響しません
!
機能
:サブ・プロセスの実行
]
!
! <MSーDOSの外部コマンド名>
デバッグ処理と並行してMS−DOSのコマンドを実行することができます。
!コマンドで起動されたMS−DOSのコマンドをサブ・プロセスと呼びます。!コ
マンドでサブ ・プロセスを起動すると、そのプロセスとCソースコード・デバッガと
の間を、キー操作で随時往復できます。
CTRL+1(テンキー) Cソースコード・デバッガからサブ・プロセスへの移行
CTRL+0(テンキー) サブ・プロセスからCソースコード・デバッガへの復帰
この機能によってエディタをサブ・プロセスで起動しソースリストを参照しながらの
デバッグ作業が行えます。また、オーバラップ機能を利用して、サブ・プロセスでプ
ログラムの修正、アセンブルを行うことにより、再度実行形式ファイルの読み込みを
行うことも可能です。
COMMAND.COMを実行します。
! <MS-DOSの外部コマンド名>
指定されたMS−DOSの外部コマンド(.COM,.EXE)を実行します。
]
!
システム制御コマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W X
Y Z
記号
204
・この機能はプロセスを同時に動作させるもの(マルチタスク)ではあり
ません。サブ・プロセスはプロセスの切換えが行われるまで停止してい
ます。
また、プロセス間のファイルの排他処理は一切していません。従っ
て、サブ・プロセスでCソースコード・デバッガの使用中のファイ
ル(環境変数TEMPまたはTMPのワークファイルなど)を変更
/削除してはいけません。また、アプリケーションによってはサ
ブ・プロセスで使用できないものもあります。
・ヒストリ表示と検索コマンドとの判別のため!と<文字列>の間には
必ず1文字以上のスペースまたはタブを入れてください。
!<MS−DOSの外部コマンド名>
サブ・プロセスの起動
!<文字列>
ヒストリ表示/検索
]
・! コマンド入力後、あるいはMS−DOSの外部コマンド入力後
"メモリが足りません"
のメッセージが出る場合があります。
この場合、EMSメモリが使用可能な環境であればデバッガ起動
時のオプション−F,−BでEMSメモリを使用することで解決
します。【起動オプション 第5章】
☞
システム制御コマンド
7・ダイアログ・コマンド
205
オンザフライ
実行に影響しません
!!/!
機能
:ヒストリ表示/検索
!!
!<文字列 >
Cソースコード・デバッガは16段のコマンド行入力バッファを内部にもっており現在
より最高16回前に入力したコマンド行までの表示ができます。また、バッファ内の文
字列を新しい順に検索することもできます。このコマンドで表示した内容はコマンド・
ウィンドウ内で自由に編集することが可能です。
前 回入力したコマンドを表示します(ヒストリ表示)。
!!
! <文字列>
<文字列 >で始まるヒストリ・バッファ内の文字列を新しい順に検索します。
条件にあった文字列が見つかれば表示します。
]
サブ・プロセス起動コマンドとの判別のため!と<文字列>の間にス
ペースやタブを入れないでください。
! <MS−DOSの 外部コマンド名> サブ・プロセスの起動
!<文字列> ヒストリ表示/検索
【シェル機能 ☞ 第6章-2-6】
システム制御コマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
206
10
その他のコマンド
Cソースコード・デバッガにはコマンド・ウィンドウの表示コントロール(カー
ソル制御、画面消去など)、メモ、オプション設定、ログ出力、バッチなどの
コマンドが用意されています。
CLSコマンド
コマンド・ウィンドウをクリアします。
HOMEコマンド
コマンド・ウィンドウのカーソルをホーム・ポジションへ移動します。
LISTコマンド
コマンド・ウィンドウの表示出力指定をします。
NLISTコマンド
コマンド・ウィンドウの表示出力抑制指定をします。
BELコマンド
ベルを鳴らします。
TIMEコマンド
現在時刻の表示をします。
WAITコマンド
一時停止します。
PRMPTコマンド
プロンプトを変更します。
*コマンド
コメント指定をします。
その他のコマンド
7・ダイアログ・コマンド
>コマンド
コマンド・ウィンドウの表示内容をログ出力します。
<コマンド
バッチ処理をします。
MEMコマンド(メモ)
メモの表示/登録/削除をします。
Nコマンド
パラメータの基数を10進、16進のいずれかに変更します。
OPTIONコマンド
オプションを設定します。
207
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
その他のコマンド
208
オンザフライ
実行に影響しません
CLS
機能
:コマンド・ウィンドウの画面クリア
CLS
コマンド・ウィンドウをクリアします。
このコマンドはHOME,PRINTF/PF,LALL,SALLコマンドなどと
組み合わせてマクロ・コマンド内での表示制御に使用します。
【 ☞ HOMEコマンド】
オンザフライ
実行に影響しません
HOME
機能
:カーソルをホームポジションへ移動
HOME
コマンド・ウィンドウのカーソルをホームポジション(コマンド入力行の左端)に移
動します。
このコマンドはCLS,PRINTF/PF,LALL,SALLコマンドなどと組
み合わせてマクロ・コマンド内での表示制御に使用します。
【 CLSコマンド】
☞
その他のコマンド
7・ダイアログ・コマンド
209
オンザフライ
機能
実行に影響しません
LIST
:表示出力指定
LIST
NLISTコマンドで抑制されたコマンド・ウィンドウの表示出力を再開します。
Cソースコード・デバッガ起動時はLISTの状態になっています。LISTコマ
ンドは、NLISTコマンドと反対の動作をします。
【 NLISTコマンド、SALLコマンド、LALLコマンド】
☞
オンザフライ
実行に影響しません
NLIST
機能
:表示出力抑制指定
NLIST
コマンド ・ウィンドウ表示出力を抑制します。
このコマンドによって不必要な表示を抑制することができます。NLISTコマン
ドは、LISTコマンドと反対の動作をします。
【 LISTコマンド、SALLコマンド、LALLコマンド】
☞
その他のコマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
210
オンザフライ
実行に影響しません
BEL
機能
:ベルを鳴らす
BEL
ホストコンピュータのベルを鳴らします。
このコマンドは、マクロ・コマンドでベルを鳴らしたい場合などに使用します。
オンザフライ
実行に影響しません
TIME
機能
:現在時刻表示
TIME
現在の時刻をコマンド・ウィンドウに表示します。
使用例
>time
11:45:17
>
その他のコマンド
7・ダイアログ・コマンド
211
オンザフライ
機能
実行に影響しません
WAIT
:一時停止
WAIT [<カウント>]
任意のキーが押されるか、<カウント>×0.1秒の時間でタイムアップするまで一時
停止状態になります。<カウント>が省略されたときには、任意のキーが押されるまで
一時停止状態を保ちます。
このコマンドは、マクロ・コマンド内での一時中断などに使用します。
使用例
>wait 10
>wait
>
; 1秒間停止
; キー入力がされるまで停止
オンザフライ
実行に影響しません
PRMPT
機能
:プロンプト変更
PRMPT <プロンプト文字>
Cソースコード・デバッガのプロンプトを<プロンプト文字>に変更します。Cソースコー
ド・デバッガ起動時のプロンプトは > となっています。
なお、<プロンプト文字>は一文字のみ有効です。
使用例
>prmpt %
%prmpt !
!prmpt >
>
その他のコマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
212
オンザフライ
実行に影響しません
*
機能
:コメント
* [<文字列>]
コメント用のコマンドで、<文字列>はコメントとして扱われます。
従って、<文字列>には何を書いてもよく、Cソースコード・デバッガの動作には全く影
響をあたえません。
マクロ内でコメントを記述するときなどに使用します。
使用例
>* この行はコメントです
>
その他のコマンド
7・ダイアログ・コマンド
213
オンザフライ
実行に影響しません
>
機能
:ログ出力
> <ファイル名>
>><ファイル名>
>
Cソースコード・デバッガは、デバッグ作業中にコマンド・ウィンドウへ出力される情
報を画面表示と並行してファイルにも出力するログ出力機能を備えています。
> <ファイル名>
指定されたファイルを新規作成しログ出力を開始します。
もし指定されたファイルが既に存在する場合は、そのファイルを削除して改
めて作成します。<ファイル名>にはドライブ名、パス名を付加することがで
きます。
すでに存在するファイルの後ろに画面出力情報を追加する場合に使用します
(アペンド)。
> > <ファイル名>
もし指定されたファイルが存在しない場合はファイルを新しく作成します。
<ファイル名>にはドライブ名、パス名を付加することができます。
ログ出力動作を停止します。
>
使用例
test1.log ファイルに追加
ログ出力動作を停止
>>test.log
>UX 0,1FF
>>
>>>test1.log
>t 10
>>
>
その他のコマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W X
Y Z
記号
214
オンザフライ
実行に影響しません
<
機能
:バッチ
< <ファイル名>
コマンド列をキーボードの代わりにファイルから入力し実行するバッチ機能です。C
ソースコード・デバッガはこのコマンドによって指定されたファイルから読み込んだ
コマンドを順次実行します。ファイル名にはドライブ名、パス名を付加することがで
きます。これはMS-DOSのバッチ処理と同様な機能であり、あらかじめ決められ
た操作手順を繰り返し行う場合などに便利です。しかし、MS-DOSのバッチ処理
と異なりパラメータを渡すことはできません。パラメータを渡す必要があるときは、
マクロ機能を使用してください。
また、Cソースコード・デバッガ起動時にカレント・ディレクトリにINIT.MCRファ
イルがある場合、デバッガはこのファイルを自動的に読み込んで実行します。これは
ちょうどMS-DOSのAUTOEXEC.BATファイルに相当します。
つまり、プログラムのデバッグに必要な前処理(ユーザ・プログラムのロードなど)
をこのファイルに書いておけば、Cソースコード・デバッガ起動時に自動的にそれら
の処理を行うことができます。
また、バッチ機能はマクロの定義(登録)に使用すると便利です。マクロ定義はCソー
スコード・デバッガの中でもできますが、大きなマクロなどをあらかじめエディタを
用いて記述しておきバッチ機能を使用してCソースコード・デバッガに登録すること
もできます。
また、MLISTコマンドでファイルに書き込んだマクロのロードにも利用できます。
バッチ実行はESCキーによって中止できます。
使用例
m1.mcr ファイルから
コマンドを実行
><m1.mcr
.
.
.
.
>
【 ☞ MLISTコマンド、マクロ定義】
その他のコマンド
7・ダイアログ・コマンド
215
オンザフライ
実行に影響しません
MEM
機能
:メモの表示/登録/削除
MEM <番号> [,<文字列>]
MEM *
MEM
メモの表示/登録/削除をします。メモ内容はオプション・ウィンドウのメモ・ウィン
ドウに表示されます。また、MEMコマンドで設定した文字列はCTRL+SHIFT
+ファンクション・キーで呼び出すことができます。
M E M <番号>[,<文字列>]
<番号>で示されたメモに指定文字列を登録します。
<文字列>を省略した場合、指定メモ番号のメモ登録が削除されます。
ME M
*
現在登録されているすべてのメモを削 除します。
ME M
現在登録されているメモ内容を表示します。
使用例
>mem1,Panasonic
>mem2,PanaX
>mem3,MN10300
>mem
MEMO 1 : Panasonic
MEMO 2 : PanaX
MEMO 3 : MN10300
>mem2
>mem
MEMO 1 : Panasonic
MEMO 3 : MN10300
>mem *
>mem
>
【メモ・コマンド 第6章
-2-7】
☞
その他のコマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
216
オンザフライ
実行に影響しません
N
機能
:入力書式の基数変更
N {10|16}
ダイアログ・コマンドで入力するパラメータの基数を10進または16進に変更します。
Cソースコード・デバッガ起動時の基数は16進です。
N 10
入力基数を10進に変更
N 16
入力基数を16進に変更
使用例
>n 10
その他のコマンド
7・ダイアログ・コマンド
217
オンザフライ
実行に影響しません
OPTION
機能
:オプション設定
OPTION <reg> [,<code>[,<case>] ]
Cソースコード・デバッガの各種オプションの設定を行います。このコマンドで設定で
きる項目はウィンドウ・コマンドのSHIFT+F10キーでも表示/変更可能です。
このコマンドで設定できるオプション項目内容は以下の通りです。
オプション
パラメータ
内容
<reg>
<code>
<case>
(ON|OFF)
(SRC|ASM)
(ON|OFF)
レジスタ・ウィンドウの表示制御
コード・ウィンドウのソース/逆アセンブル表示の切り換え
シンボル名の大文字/小文字判別のON/OFF
使用例
>option on,src,off
>option off
>
>
その他のコマンド
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W
X
Y Z
記号
218
その他のコマンド
8
第 章
マクロ・コマンド
1.マクロ・コマンドの概要
2.マクロ・コマンド
220
1
マクロ・コマンドの概要
1-1 マクロ機能
マクロ機能とは、複数のコマンドを組み合わせて新しいコマンドを構築する機
能です。Cソースコード・デバッガでは、多くのコマンドと強力なマクロ制御
構造を使って高度なマクロ・コマンドを作成することができます。
次に、Cソースコード・デバッガのマクロ機能の特長を示します。
(1)C言語ライクな制御構造をサポートし、GOTOを使用しないブロック
化されたわかりやすいマクロ記述ができます。
(2)IFのネスティングは最大255レベルまで可能で、きめ細かな場合分
けができます。
(3)マクロのネスティングは最大15レベルまで可能で、別のマクロをサブ
ルーチン化して、マクロ内で展開することができます。
(4)マクロ・コマンドには最大10個のパラメータを渡すことができます。
(5)カーソル・コントロール関係のコマンドやPRINTF/PFコマンド
などと組み合わせて書式化された画面出力や、シンボル定義機能と組み
合わせて対話形式で処理を行うようなマクロ・コマンドを定義できます。
マクロ・コマンドは、Cソースコード・デバッガの内部コマンドと同じ方法で
使用することができます。つまり、マクロ・コマンドを実行するための特別な
コマンドを必要としません。また、マクロ・コマンドはESCキーで停止でき
ます。
実行制御のコマンドは、特殊シンボルを使えば更に効率的なデバッグが可能に
なります。以下に具体的な例を示します。
使用例
{test1
bp sec,w
do{
g
while{_ _run_ _
}
}while val(sec[0]!=9)
}
マクロ・コマンドの概要
8・マクロ・コマンド
221
このマクロは、変数secが割り付けられているアドレスにハードウェア・
ブレークを設定します。3行目から7行目までがdo{ }whileのルー
プになっており、do{ }whileのループの後の条件sec!=9が不
成立の間、Gコマンドを実行します。
使用例
{TEST2
bp .45
ti run
g
while{_ _run_ _
}
if{val(sec[1]==1)
g
}
if {_ _run_ _!=1
ti
}else{
esc
pf '強制ブレークしました'
}
}
このマクロでは、まず45行目にブレーク・ポイントを設定します。3行目
はタイマ・コマンドの実行時間測定を行います。4行目は実行をスタートし
ます。そして、9行目でユーザ・プログラムが停止している場合は、45行
目から45行目まで実行するのに要した時間を表示してマクロを抜けます。
一方、9行目でユーザ・プログラムが実行中の場合は、マクロからESCを
入力してその旨を表示してマクロを抜け出します(マクロ中にESCを入力
するとユーザ・プログラムの実行を中断させることができます)。
このように、マクロをうまく使うことにより効率的なデバッグが可能になり
ます。マクロ・コマンドの実行結果をファイルにとり、同じコマンドで同じ
結果が得られるかの耐久テストにも活用できます。
マクロ・コマンドの概要
222
2
マクロ・コマンド
マクロ定義/実行のコマンドとCソースコード・デバッガのC言語ライクな
制御構造をサポートする制御コマンドとして以下のダイアログ・コマンドが
用意されています。
DO{ }WHILEコマンド
do{..}whileマクロ制御実行をします。
FOR{ }コマンド
for{..}マクロ制御実行をします。
WHILE{ }コマンド
while{..}マクロ制御実行をします。
REPEAT{ }コマンド
繰返しマクロ制御実行をします。
BREAKコマンド
マクロ抜け出しをします。
LALLコマンド
マクロでの表示出力指定をします。
SALLコマンド
マクロでの表示出力抑制指定をします。
MLISTコマンド
登録マクロを表示します。
KILLコマンド
登録マクロを削除します。
IF{ }コマンド
条件制御によるコマンド実行をします。
KEYINコマンド
キーボードからの入力指定をします。
マクロ・コマンド
8・マクロ・コマンド
{< > < >}
223
:マクロ・コマンドの定義
{<マクロ名><マクロ本体>}
マクロ・コマンドの定義を行います。<マクロ名>は、定義するマクロ・コマンドの名
前です。
{< マクロ名>
↵ と入力すると、マクロ入力プロンプト ? が表示され、定義するマ
クロ本体の入力待ちとなります。
<マクロ本体>の部分は複数の内部コマンドまたはマクロ・コマンドを自由に書くこと
ができ、そのコマンド数にはマクロ・バッファに入る範囲である限り特に制限はありま
せん。
<マクロ本体>の入力時にはコマンドのエラーチェックは行いません。エラーチェック
はマクロの実行時にのみ行われます。<マクロ本体>の入力は } ↵ により終了します。
Cソースコード・デバッガの内部コマンドと重複する名前でマクロ定義を行うと、次
のようなエラーメッセージが表示されます。
”マクロ名が内部コマンドと重複しています”
また、以前に定義されたマクロと重複する名前でマクロ定義した場合には前回のマクロ
定義は削除されます。
マクロ・コマンドの定義を別のマクロ・コマンド内で行うことはできません。
つまり、マクロ・コマンドの定義は、Cソースコード・デバッガのコマンド入力モード
(プロンプト > が表示されているとき)でのみ行えます。
参考
プロンプト‘ >’ はユーザ(PRMPTコマンド)によって変更することがで
きます。
簡単なマクロ・コマンドは、Cソースコード・デバッガ起動後にこのコマンドを使っ
て定義できますが、大きなマクロ・コマンドはあらかじめエディタを使用して記述
しておきバッチ機能を利用してマクロ登録すると便利です。
また、Cソースコード・デバッガ内部で定義したマクロ・コマンドを残してお
きたい場合は、MLISTコマンドを利用してファイルに書き込むことができ
ます。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
224
使用例
>{TEST1
? bp sec, ex
? do{
?
g
?
while{_ _run_ _
?
}
? }while val(sec[0]!=9)
?}
>
【 <コマンド、MLISTコマンド】
☞
マクロ記述について
(1)マクロ内で%0という記述をするとエラーになってしまいます。
エラーになる記述例
{test
while{_ _ run _ _
}
repeat {wi0, wi1, wi2
d %0
}
}
マクロ内でこのように%0といった使い方をする場合は、%%を
2個記述してください。
エラーにならない記述例
repeat {wi0, wi1, wi2,
d %%0
}
(2)<マクロ・コマンド>{<パラメータリストなど>}のとき、マ
クロ・コマンドと{の間にスペースがあるとマクロが正常に認識
されません。マクロ・コマンドと{は続けて記述してください。
正常に認識される例
for{<コマンド1>, <式>, <コマンド2><マクロ本体>
if{<パラメータリスト>
正常に認識されない例
for {<コマンド1>, <式>, <コマンド2><マクロ本体>
]
if {<パラメータリスト>
]
マクロ・コマンド
8・マクロ・コマンド
[]
225
:マクロ・コマンドの実行
<マクロ名> [<パラメータ リスト>]
定義されたマクロはCソースコード・デバッガの内部コマンドと同じ入力形式で実行で
きます。つまり、マクロ・コマンドを実行するための特別なコマンドは必要ありません
(Cソースコード・デバッガのプロンプトの出ているときにはいつでもマクロ名のみの
入力で実行できます)。
また、マクロ・コマンドはパラメータを最大10個まで指定することができます。パラ
メータはカンマ( ,)で区切られます。マクロ・コマンドで指定されたパラメータは
<マクロ本体>内の%0,%1,・・・,%9までの仮パラメータと置き代わって実行
されます。
%0
マクロ コマンドの第1パラメータに対応
%1
マクロ コマンドの第2パラメータに対応
.
.
.
.
%9
マクロ コマンドの第10パラメータに対応
実行中のマクロ・コマンドはESCキーで停止できます。マクロに渡すパラメータはカ
ギかっこ([..])で囲むことによりカンマ( ,)やシングル・クォーテーション
( ’)を含んだ文字列を1つのパラメータとして扱うことができます。このとき、マ
クロにはカギかっこが削除された文字列がパラメータとして渡されます。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
226
使用例
>{calc
?h %0
?}
>calc 1,2
>h 1
oct
00000000001
>calc [1,2]
>h 1,2
dec
1
hex
00000001
asc
float
'....' 0.000000e+00
oct
dec
hex
asc
+: 00000000003
3 00000003 '....'
-: 37777777777 -1 FFFFFFFF '....'
double: 0.000000000000000e+00
>
float
0.000000e+00
-6.805647e+38
マクロ・コマンド
8・マクロ・コマンド
DO { } WHILE
227
:マクロの制御実行
DO{<マクロ本体>}WHILE <式>
マクロ・コマンドの定義と同様に DO{
↵
を入力すると、マクロ入力プロンプ
ト ? が表示されマクロ入力モードに入ります。<マクロ本体>の部分は複数のコマンド
あるいはマクロを自由に書くことができ、マクロ・バッファに入る範囲である限りその
コマンド数に特に制限はありません。
<マクロ本体>の入力は }WHILE <式>
↵
の入力により終了します。
<マクロ本体>がすべて実行された後に<式>の値を評価します。その値が0の場合には
マクロを終了し、0でない場合には再び<マクロ本体>の始めから実行を繰り返します。
DO{..}WHILEマクロは少なくとも1回は<マクロ本体>のコマンドを実行し
ます。
使用例
{test3
reset
do{
t
}while val(sec[0]!=9)
}
【 マクロ・コマンドの定義】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
228
FOR { }
:マクロの制御実行
FOR{<コマンド1>,<式>,<コマンド2><マクロ本体>}
マクロ・コマンドの定義と同様に FOR{<コマンド1>,<式>,<コマンド2>}
↵ を入力すると、マクロ入力プロンプト ? が表示されマクロ入力モードに入ります。
<マクロ本体>の部分は複数のコマンドまたはマクロを自由に書くことができ、マクロ・
バッファに入る範囲である限りそのコマンド数に特に制限はありません。
<マクロ本体>の入力は } ↵ により終了します。
FOR{..}マクロは<コマンド1>が実行され後に<式>の値を評価します。その値
が0の場合にはマクロを終了し、0でない場合には<マクロ本体>の始めから実行を行
います。<マクロ本体>の実行が終了後<コマンド2>が実行され再び<式>の評価を行い
ます。そして、その値が0になるまで繰り返し<マクロ本体>と<コマンド2>を実行し
続けます。FOR{..}マクロでは始めから<式>の値が0の場合には<マクロ本体>
のコマンドは1回も実行されません。
使用例
{fort
for{j=0x100,j<0x200,j=j+1
e j,ff
}
}
このマクロは、第1パラメータから第2パラメータまでのメモリ領域へ1バイ
トおきに第3パラメータで指定されたデータを書き込むコマンドです。
【 マクロ・コマンドの定義】
☞
マクロ・コマンド
8・マクロ・コマンド
WHILE { }
229
:マクロの制御実行
WHILE{ <式> <マクロ本体>}
マクロ・コマンド定義と同様に WHILE{<式> ↵ を入力すると、マクロ入力プ
ロンプト ? が表示されマクロ入力モードに入ります。<マクロ本体>の部分は複数のコ
マンドまたはマクロを自由に書くことができ、マクロ・バッファに入る範囲である限り
そのコマンド数に特に制限はありません。
<マクロ本体>の入力は }
↵
により終了します。
WHILE{..}マクロはまず<式>の値を評価します。その値が0の場合にはマク
ロを終了し、0でない場合には<マクロ本体>の始めから実行を行い、<マクロ本体>の
実行が終了後再び<式>の評価を行いその値が0になるまで繰り返し<マクロ本体>を実
行し続けます。WHILE{..}マクロでは始めから<式>の値が0の場合には<マク
ロ本体>のコマンドは1回も実行されません。
使用例
>while{_PC!=4000009f
?t
?}
>
>
この例はPCレジスタが 0x4000009f になるまでシングルステップ実行を続け
ます。
【 マクロ・コマンドの定義】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
230
REPEAT
:REPEAT{..}マクロの制御実行
REPEAT{<パラメータ リスト> <マクロ本体>}
マ ク ロ ・ コ マ ン ド 定 義 と 同 様 に R E P E A T { < パ ラ メ ー タ リ ス ト> }
↵
を入力すると、マクロ入力プロンプト ? が表示されマクロ入力モードに入りま
す。
<マクロ本体>の部分は複数のコマンドまたはマクロを自由に書くことができ、マクロ・
バッファに入る範囲である限りそのコマンド数に特に制限はありません。
<マクロ本体>の入力は }
↵
により終了します。
REPEAT{..}マクロは<マクロ本体>内の仮引数%0を<パラメータリスト>の
各要素のと置き換えて<マクロ本体>を実行します。従って、<パラメータリスト>の要
素の数だけ<マクロ本体>は繰り返し実行されます。指定できるパラメータの数は最大
10個です。
使用例
>d 80000000
80000000 A3 06 86 00 ED CB 31 00
01 F2 F0 90 00 2D 00 20
>repeat{80000000,80000002,80000004,80000006
?e %0,ff
?}
>e 80000000,ff
>e 80000002,ff
>e 80000004,ff
>e 80000006,ff
>d 80000000
80000000 FF 06 FF 00 FF CB FF 00
>
01 F2 F0 90 00 2D 00 20
【 ☞ マクロ・コマンドの定義】
マクロ・コマンド
8・マクロ・コマンド
BREAK
231
:マクロからの抜け出し
BREAK
このコマンドはマクロ・コマンドの<マクロ本体>部だけで使用できるコマンドで、ある
マクロでBREAKコマンドが実行されると強制的にそのマクロを1レベル抜け出しま
す。
使用例
>{chkgo
?bp .45
?while{1
? g
while{_ _run_ _
}
? if{val(sec[0]==9)
? break
? }
?}
?}
>
この例では、CHKGOマクロ内のIFの条件が成立したときBREAKコマ
ンドでWHILEループを抜け出します。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
232
LALL
:マクロでの表示出力指定
LALL
SALLコマンドで抑制されたマクロ・コマンド内のコマンドおよびプロンプトのコマ
ンド・ウィンドウ表示出力を再開します。Cソースコード・デバッガ起動時はLALL
の状態となっています。LALLコマンドはSALLコマンドと反対の動作をします。
使用例
>{test
?sall
?t
?d 80000000
?lall
?t
?d
?}
>test
>sall
—— IM=0 S=0
PSW=0000
PC =80000008
add
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=80000006 LAR=00000000 SP =00002000
-0C,sp
80000000 FC DC 00 20 00 00 F2 F0 F8 FE F4 FC CD 14 20 00
>t
—— IM=0 S=0
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
PSW=0000
A0 =00002000 A1 =00000000 A2 =00000000 A3 =00000000
PC =8000000B
mov
MDR=00000000 LIR=80000008 LAR=00000000 SP =00001FF4
2014,d1
>d
80000010
>
00 A5 00 C3 0F FC DC 00
00 00 00 00 60 50 29 FC
>
【 SALLコマンド、LISTコマンド、NLISTコマンド】
☞
マクロ・コマンド
8・マクロ・コマンド
SALL
233
:マクロでの表示抑制指定
SALL
マクロ・コマンド内のコマンドおよびプロンプトのコマンド ・ウィンドウ表示を抑制し
ます。SALLコマンドはLALLコマンドと反対の動作をします。
使用例
>{test
?sall
?t
?d 100
?}
>test
>sall
—— IM=0 S=0
PSW=0000
PC =80000000
mov
D0 =00000000 D1 =00000000 D2 =00000000 D3 =00000000
A0 =00000000 A1 =00000000 A2 =00000000 A3 =00000000
MDR=00000000 LIR=40000000 LAR=00000000 SP =00000100
2000 _i ,a0
00000100
>
>
D7 16 B1 F0 E7 79 FD 7B
DE 1D D2 86 B7 8F 33 D3
☞
【 LALLコマンド、LISTコマンド、NLISTコマンド】
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
234
MLIST
:マクロの表示
MLIST
MLIST <マクロ名>
MLIST> <マクロ ファイル名>
マクロ表示を行います。
ML I ST
現在定義済みのすべてのマクロ名を表示します。
ML I ST
<マクロ名>で指定されたマクロ・コマンドのマクロ本体(マクロ定義の内容)
<マクロ名>
を表示します。
ML I ST >
現在定義されているすべてのマクロの内容を<マクロファイル名>で指定された
<マクロファイル名>
ファイルに書き込みます。このファイルはCソースコード・デバッガのバッチ
機能(<コマンド)により読み込むことができます。
使用例
>mlist
Q
TLALL
TSALL
>mlist tlall
sall
t
d10
lall
t
d
>mlist>macro.log
>
【 <コマンド】
☞
マクロ・コマンド
8・マクロ・コマンド
KILL
:マクロの削除
KILL <マクロ名>
KILL *
現在マクロ定義されているマクロ・ コマンドを削 除します。
KI L L
235
<マクロ名>
KI L L*
<マクロ名>で指定したマクロ・コマンドを削除します。
ユーザによって定義されたすべてのマクロ・コマンドを削除します。
使用例
>mlist
BKSET
DISP
INIT
Q
RUN
>kill run
>mlist
BKSET
DISP
INIT
Q
>kill*
>mlist
Q
>
【 マクロ・コマンドの定義】
☞
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
236
IF { }
:条件付実行
IF{<式> <コマンド> [ }ELSEIF{ <式> ] <コマンド> [ }ELSE{ ] <コマンド> }
このマクロ・コマンドの<マクロ本体>のなかでのみ有効です。まず<式>の値を評価し、
その値が0でない場合には次に続く<コマンド>を実行します。0の場合はこのIFに
対応するELSEに続く<コマンド>を実行します。
使用例
{chkgo
プログラム・カウンタの値が
0x4000009f だったらsec
シンボルのアドレスからダン
プ、そうでなければステップ
実行を5回する
70番地のデータが8だったら
メッセージ出力、そうでなけ
れば70番地のデータを出力
マクロ・コマンド
g
esc
while{__run__
}
if{_PC==4000009f
d sec
}else{
t 5
}
}
{chkram
t 5
if{(*70&0xff)==8
pf 'test OK '
}else{
pf '&x',*70&0xff
}
}
8・マクロ・コマンド
KEYIN
237
:キーボードからの入力指定
KEYIN
ユーザが定義したマクロ・コマンド内で使用し、次の1行をキーボードから入力するこ
とを指示します。
使用例
>{setd
?e 80000100
?11
?22
?33
?44
?keyin
?66
?.
?}
>setd
>e 80000100
address asc oct
dec hex data
80000100
80000101
80000102
80000103
80000104
-8
-25
3
36
-63
'.'
'.'
'.'
'$'
'¡'
370
347
003
044
301
80000105 '&' 046
80000106 '{' 173
>
F8
E7
03
24
C1
11
22
33
44
55
38 26
123 7B
66
.
この例では、80000104 番地の55だけがキーから入力されたものでその他の
データはマクロ展開によって入力されたものです。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
記号
マクロ・コマンド
238
マクロ・コマンド
9
第 章
付 録
1.インサーキット・エミュレータの仕様
2 . インタフェース・ボードのスイッチ設定
3.プローブ部についての特記事項
4.Cソースコード・デバッガの
エラーメッセージ
5.クイック・リファレンス
6.PC/AT(DOS/V) バージョン補足
240
1
インサーキット・エミュレータの仕様
1-1 機能的仕様
項目
仕様
対象デバイス
MN10300シリーズ
メモリ容量
エミュレーションメモリ
1024Kバイト(標準)
(高速メモリ512K,低速メモリ512K)
ブレーク機能
2560Kバイト(最大)
(高速メモリ512K,低速メモリ2048K)
実行アドレス・ブレーク
データ・ブレーク
最大4イベント
条件:エリア指定、通過回数指定
最大4イベント
条件:エリア指定、通過回数指定、ビット
マスク、リード/ライト/アクセス指定、
データ幅指定、一致/不一致指定
アンド・ブレーク
シーケンシャル・ブレーク
トレースフル・ブレーク
外部ブレーク
トレース機能
あり
8レベル
あり
なし
トレースメモリ容量
トレース取得データ
16Kステップ
実行アドレス、データアドレス、データ、
バス・ステータス情報
トレース・モード
ノーマル・モード、分岐トレース・モード、
イベント条件付きトレース・モード
測定モード
時間測定分解能
連続測定モード、最大最小実行時間測定モー
ド
25ns/50ns/100ns切り換え
トリガ出力機能
トリガ出力
8本
RAMモニタ機能
サンプルメモリ
256バイト
表示モード
ダンプリスト・モード
ビットマップ・モード
プロファイル測定
実行比率(%)表示
OSC1
ターゲット側(他励発振のみ)
XI
ターゲット側(他励発振のみ)
タイマ機能
パフォーマンス
測定機能
クロック
インサーキット・エミュレータの仕様
9・付 録
241
1-2 電気的仕様
項目
定格
エミュレータおよびプローブの電源電圧
0.5∼3.6V
トリガ出力電圧
−0.3∼3.6V
トリガ出力電流
±4mA
1-3 環境仕様
項目
定格
温度
動作時
保存時
10℃∼30℃
0℃∼45℃
湿度
動作時
保存時
20%∼80%
90%以下
1-4 外形寸法
長さ×幅×高さ
130×100×40mm
インサーキット・エミュレータの仕様
242
1-5 ターゲット・インタフェース
トリガ出力部(PROBE CN2)
ICE制御チップ
PROBE CN2
2
CMOSのドライバ
インサーキット・エミュレータの仕様
9・付 録
2
243
インタフェース・ボードスイッチの設定
ホストコンピュータとインサーキット・エミュレータとのインタフェースは、
ホストコンピュータのI/O空間を1バイト使用します。I/Oアドレスは下
位8ビットのみデコードされています。上位8ビットはボード内で使用されま
す。ご使用のシステムに合わせて、インターフェース・ボードのスイッチを設
定します。I/Oアドレスは、未使用アドレスであれば、任意のアドレスを使
用できますが、通常は以下の表に示すアドレスに設定してください。
2-1 ホストコンピュータがPC−9800シリーズの場合
ノーヒューズ・ブレーカ
DSW3
ディップ・スイッチ
DSW6
CN2
DSW1 DSW2
DSW4 DSW5
DSW7 DSW8
ロータリー・スイッチ
ノーヒューズ・ブレーカは5V電源の過電流電源保護(過電流に
よる破壊保護)のためのものです。何らかの理由で過電流が流れ
た場合に白いボタンが飛び出して電流を遮断します。ノーヒュー
ズ・ブレーカが作動した場合は、必ず原因を確認してから白いボ
タンを押し込んでください。この時、あまり強く押し込み過ぎな
いよう注意してください。
白いボタンが飛び出した状態とは、ノーヒューズブレーカを上か
ら見た時、約1∼2mm程度、突出した状態を言います。
インタフェース・ボードのスイッチ設定
244
・ロータリー・スイッチ(DSW1,2,4,5,7,8)の設定
I/Oアドレス DSW1 DSW2 DSW4 DSW5 DSW7 DSW8
xxD0H
|
|
0
|
D
0
xxD1H
⋮
xxDFH
xxE0H
xxE1H
|
⋮
|
|
|
|
⋮
|
|
|
0
⋮
0
0
0
|
⋮
|
|
|
D
⋮
D
E
E
1
⋮
F
0
1
⋮
xxEFH
⋮
|
⋮
|
⋮
0
⋮
|
⋮
E
⋮
F
注)
「|」はどの位置でもよいことを示します。
I/Oアドレスは、xxD0HからxxEFHまでの未使用アドレスを設定
してください。
・ディップ・スイッチ(DSW3)の設定
1
2
3
4
DSW3
OFF
OFF
ON
ON
DSW6
OFF
OFF
OFF
ON
インタフェース・ボードのスイッチ設定
9・付 録
245
2-2 ホストコンピュータが98NOTEシリーズの場合
設定はこのフタをあけて行ってください
PanaXSeries
+
ICE POWER
DCジャック
DCジャック
インサーキット・
エミュレータ本体
DCジャックは当社EPROMプログラ
またはインサーキット・
ムを単独で使用する場合に、電源を供給
エミュレータ電源側コネクタ
98NOTE側
PC-98 NOTE側 するためのものです。(別売のACアダ
コネクタ
プタが必要です。)PanaX専用電源
コネクタ
を使用する場合は不要です。
ICE POWERはDCジャックから
電源が供給されると点灯します。
ディップSW
ロータリーSW1 [A19-A16]
ロータリーSW2 [A15-A12]
ロータリーSW3 [A7-A4]
ロータリーSW4 [A3-A0]
12345678
↑
↑
↑
↑
ICE POWER
インタフェース・ボードのスイッチ設定
246
・ロータリー・スイッチ(DSW1∼4)の設定
I/Oアドレス
DSW1
DSW2
DSW3
DSW4
xxD0H
xxD1H
⋮
xxDFH
xxE0H
−
−
⋮
−
−
−
−
⋮
−
−
D
D
⋮
D
E
0
1
⋮
F
0
xxE1H
⋮
xxEFH
−
⋮
−
−
⋮
−
E
⋮
E
1
⋮
F
注) 「−」はどの位置でもよいことを示します。
I/Oアドレスは、xxD0HからxxEFHまでの未使用アドレスを設
定してください。
・ディップ・スイッチの設定
1
2
3
4
5
6
7
8
ON
ON
OFF
OFF
ON
ON
ON
OFF
インタフェース・ボードのスイッチ設定
9・付 録
247
2-3 ホストコンピュータがPC/AT(DOS/V)シリーズ
の場合
・ロータリー・スイッチ(DSW1,2,3,4,6)の設定
I/Oアドレス
DSW3
DSW2
DSW1
DSW4
DSW6
0300H
0301H
3
3
0
0
0
1
−
−
−
−
⋮
030FH
⋮
3 ⋮
0 ⋮
F
⋮
−
⋮
−
0310H
0311H
⋮
3
3
⋮
1
1
⋮
0
1
⋮
−
−
⋮
−
−
⋮
03FFH
3
F
F
−
−
注) 「−」はどの位置でもよいことを示します。
I/Oアドレスは、0300Hから03FFHまでの未使用アドレスを設定してくだ
さい。
・ディップ・スイッチ(DSW5,7)の設定
1
2
3
4
DSW5
OFF
OFF
OFF
ON
DSW7
OFF
ON
ON
ON
インタフェース・ボードのスイッチ設定
248
3
プローブ部についての特記事項
3-1 電気的仕様
絶対最大定格および電気特性は、プローブ中に実装されているマイクロコ
ンピュータのものと同じです。ターゲットから電源を供給する場合は、電
源電圧を−0.5V∼3.6Vにし、動作時には2.5V∼3.6Vの安定した
電源を供給してください。電源電圧が安定しないと動作が保障されませ
ん。
3-2 環境仕様
項目
定格
温度
動作時
保存時
10℃∼30℃
0℃∼45℃
湿度
動作時
20%∼80%
保存時
90%以下
プローブ部についての特記事項
9・付 録
4
249
Cソースコード・デバッガのエラーメッセージ
Cソースコード・デバッガではユーザが入力したコマンドに対してエラーが
発見されますとエラーメッセージが表示されます。
Cソースコード・デバッガのエラー メッセージについて以下に説明します。
メモリが不足しています
使用可能なメモリが不足しているため、Cソースコード・デバッガを起動
することができません。−Bまたは−Fオプションを使用してCソース
コード・デバッガを再起動してください。
EMSドライバが見つかりません/EMSの空き領域が不足しています
−FEMS,−BEMSオプションで作業用領域としてEMSメモリ使用
に設定しようとしていますが、EMSドライバが見つからない、あるいはE
MSメモリに十分な空き領域がない場合に発生します。CONFIG.SYSファイル
中のEMSに関する設定を確認してください。
ヘルプファイルが見つかりません
PT103.HLP ファイルが見つかりません。カレント・ディレクトリまたは環
境変数HELPで指定されたディレクトリ下に PT103.HLP ファイルを格納
しておいてください。
エミュレータの動作に異常があります(フリーランタイマ異常)
インサーキット・エミュレータ内のタイマが正常に動作していません。こ
のエラーが発生した場合は、巻末のお問い合わせ窓口までご連絡くださ
い。
エミュレータの動作に異常があります(プロファイルアドレスラッチ異常)
インサーキット・エミュレータ内のプロファイルアドレスラッチ機能(実
行アドレス取得機能)が正常に動作していません。ターゲットシステムが
正常に動作するにも関わらず、このエラーが発生する場合には巻末のお問
い合わせ窓口までご連絡ください。
Cソースコード・デバッガのエラーメッセージ
250
エミュレータコントローラの電源がOFFになっています
エミュレータ・コントローラの電源がOFFになっているため、インサー
キット・エミュレータを起動することができません。電源をONにしてか
らCソースコード・デバッガを再起動してください。
ターゲットシステムの電源がOFFになっています
ターゲットシステムの電源がOFFになっています。電源をONにしてか
らCソースコード・デバッガを再起動してください。ターゲットシステム
なしでCソースコードデバッガを起動する場合には、-NOTARGET オプ
ションを使用してください。
ターゲットシステムを接続した状態で -NOTARGET オプションは指定できません
-NOTARGET オプションは、ターゲットシステムを接続せずインサーキッ
ト・エミュレータ単独で使用する場合にのみ指定してください。ターゲッ
トシステムを接続した状態で -NOTARGET オプションは指定できません。
エミュレータコントローラから電圧が出力されていません
エミュレータ・コントローラから電圧が出力されていないため、Cソース
コード・デバッガを起動できません。このエラーが発生した場合には、巻
末のお問い合わせ窓口までご連絡ください。
インタフェース基板やアドレスの衝突等をチェックしてください
インタフェース・ボードのアドレスとインストーラ(PINS103.EXE)で設定
したアドレスが一致しているかどうかを確認してください。
モニタプログラムの読み込みに失敗しました。
モニタプログラム(MON103.EX)の読み込みに失敗しました。ハードウェ
アの異常あるいはモニタプログラムファイルの異常が考えられます。
Cソースコード・デバッガのエラーメッセージ
9・付 録
251
モニタプログラム(MON103.EX)が見つかりません
Cソースコード・デバッガを起動するためにはモニタプログラム
(MON103.EX)が必要ですが、そのファイルが見つかりません。カレン
トディレクトリまたは環境変数PATHで指定されたディレクトリに
MON103.EX ファイルをコピーしてください。
モニタプログラムの初期化に失敗しました
モニタプログラムが起動しません。ハードウェアの異常あるいはモニタプ
ログラムファイルの異常が考えられます。
モニタプログラムのバージョンが違います
モニタプログラムのバージョンが違うために、Cソースコード・デバッガ
を起動することができません。本デバッガに適合したモニタプログラム
ファイルをカレントディレクトリまたは環境変数PATHで指定された
ディレクトリにコピーしてください。
ターゲットシステムから過大な電圧を検出しました
すべての電源を切って原因を取り除き、再起動してください
ターゲットシステムから過大な電圧を検出しました。一度、すべての電源
を切り、ターゲットシステムに異常がないかどうか確認してください。
エミュレータ・マイコン間の通信に異常が発生しました
インサーキット・エミュレータとマイコン間での通信に異常が発生しまし
た。マイコンがハングアップしていないか、あるいはターゲットシステム
に異常がないかどうか確認してください。
デバッガを終了してください
インサーキット・エミュレータあるいはマイコンの異常、もしくはエミュ
レータ・コントローラの異常(電源がOFFになっている場合も含みま
す)が発生しています。直ちにデバッガを終了してください。
Cソースコード・デバッガのエラーメッセージ
252
INITコマンドを実行してください
インサーキット・エミュレータに異常が発生しているため、INITコ
マンドを実行して初期化を行なってください。
RESETコマンドを実行してください
マイコンに異常が発生しているため、RESETコマンドを実行してマ
イコンの初期化を行なってください。
オーバーラップ領域が不足しています
オーバーラップ領域(ディスクの空き領域)が不足しています。―Bオ
プションでデバック情報領域・マクロ登録領域を小さくするか、ディス
クの空き領域を確保してください。
オーバーラップモードでは使用できません
オーバーラップモードでは使用できないコマンドを実行しようとしまし
た。
コマンド名が正しくありません
指定したコマンド名がCソースコード・デバッガの内部コマンドあるい
はマクロ・コマンドとして認識できません。
コマンドのフォーマットが正しくありません
コマンドの入力書式、パラメータの指定方法や数が正しくありません。
パラメータが正しくありません
パラメータの指定方法や数が正しくありません。
Cソースコード・デバッガのエラーメッセージ
9・付 録
253
アドレス指定が正しくありません
アドレス入力部に適当でないアドレスを指定した場合や、開始アドレス
と終了アドレスとが逆転している場合に発生します。また、登録されて
いないシンボル名を使用した場合にも発生します。
データ指定が正しくありません
データ指定部に適当でない(範囲外など)値を指定した場合、あるいは
登録されていないシンボル名を使用した場合に発生します。
アライメントが正しくありません
F,Sコマンドでアドレスのアライメントが正しくない場合(16ビッ
トデータで奇数アドレスを指定、または32ビットデータで4の倍数以
外のアドレスを指定した場合)に発生します。
Cの式計算エラーです
?コマンドやVALコマンドでのCの式計算でエラーが発生しました。
Cの変数が見つかりません
?コマンドやVALコマンドで指定したCの変数が見つかりません。
副作用のある演算子は使用できません
?コマンドでは副作用のある演算子(=,+=,−=など)は使用でき
ません。副作用のある演算子はVALコマンドを使用してください。
マクロ内でのマクロ定義はできません
マクロ・コマンドの定義はCソースコード・デバッガのコマンドレベル
で行なってください。マクロ・コマンド内でさらにマクロ・コマンドの
定義を行なうことはできません。
Cソースコード・デバッガのエラーメッセージ
254
マクロ内でのマクロ削除はできません
定義したマクロ・コマンドの削除はCソースコード・デバッガのコマンド
レベルで行なってください。マクロ・コマンド内での削除はできません。
マクロ名が内部コマンドと重複しています
定義しようとするマクロ名がCソースコード・デバッガの内部コマンド名
と一致しています。異なったマクロ名で定義してください。
マクロ登録領域が不足しています
マクロ・コマンド登録領域がいっぱいになったか、あるいは定義しようと
したマクロ・コマンドの数が多過ぎます。―Bオプションを使用し、マク
ロ・コマンド登録領域を拡張して、Cソースコード・デバッガを起動して
ください。
マクロ定義が正しく終了していません{ }
マクロ・コマンドの定義の中かっこ({ })の対応が正しくありません。
マクロのネスティングが15レベルを超えています。
マクロ・コマンドのネスティング(マクロ・コマンド内でさらにマクロ・
コマンドを実行する)は最大15レベルまで許されています。
指定ファイルが見つかりません
指定されたファイルが見つかりません。
指定ファイルをオープンできません
指定されたファイルをオープンすることができません。そのファイルが存
在するかどうか確認してください。また、多くのファイルを同時にオー
プンし過ぎた場合にも発生します。
Cソースコード・デバッガのエラーメッセージ
9・付 録
255
ファイルを作成できません
ディスクの空き容量が不足したか、あるいは多くのファイルを同時にオー
プンし過ぎたために、ファイルを作成することができません。まず、ディ
スクの空き容量を確認し、充分な容量がある場合には不要なファイルをク
ローズしてください。
ディスクの空き容量が不足しています
ディスクの空き容量が不足しています。
チェックサムエラー
モトローラS形式またはインテルHEX形式のファイル内容が異常なた
め、読み込みに失敗しました。
ファイルフォーマットが正しくありません。
MS−DOSのコマンド(実行形式:.COM/.EXE)ファイル内容が異常
なため、サブプロセスとして実行できませんでした。
デバッグ情報がありません
Lコマンドで実行形式ファイル(松下EX形式)をロードするときに、デ
バッグ情報が見つかりませんでした。デバッグ情報を出力するオプション
を付加してコンパイル/アセンブルを行なってください。
デバッグ情報が異常です
デバッグ情報のフォーマットに異常があります。このエラーは通常起こら
ないように設計されていますが、このエラーが発生し、かつ再現性がある
場合には巻末のお問い合わせ窓口までご連絡ください。
Cソースコード・デバッガのエラーメッセージ
256
デバッグ情報領域が不足しています
デバッグ情報領域に空きがありません。―Bオプションでデバッグ情報領
域を拡大してCソースコード・デバッガを起動してください。
サブプロセスが終了していません
サブプロセスを起動した場合、サブプロセスを終了させる前にCソース
コード・デバッガを終了することはできません。サブプロセスを終了させ
た後にCソースコード・デバッガを終了してください。
サブプロセスを終了しないとPICEに戻れません
(スペースキーを押すとサブプロセスに戻ります)
サブプロセスで使用しているメモリが多過ぎるため、Cソースコード・デ
バッガに戻ることができません。サブプロセスを終了させてから、Cソー
スコード・デバッガに戻ってください。
対応するコマンドがありません
指定のコマンドは存在しないため、ヘルプ画面を表示することはできませ
ん。
リセット端子がLOW状態のためユーザプログラムを実行できません
ユーザリセット端子がLOW状態のため、ユーザ・プログラムを実行する
ことができません。ユーザリセット端子をHIGH状態にしてから、
ユーザ・プログラムを実行してください。
ユーザプログラムを実行できません
ユーザ・プログラムが実行できません。ターゲットシステムに異常がない
かどうか確認してください。
Cソースコード・デバッガのエラーメッセージ
9・付 録
257
4の倍数以外のアドレスにスタックポインタを設定できません
スタックポインタは4の倍数のアドレスに設定する必要があります。4の
倍数以外に設定し、ユーザ・プログラムを実行しようとした場合に、この
エラーが発生します。
内蔵ROM領域にはスタックポインタを設定できません/
特殊レジスタ領域にはスタックポインタを設定できません/
未実装領域にはスタックポインタを設定できません
スタックポインタは内蔵RAM、外部メモリ、エミュレーションRAM領
域のいずれかのみ設定できます。それ以外の領域にスタックポインタを設
定し、ユーザ・プログラムを実行しようとした場合に、このエラーが発生
します。
ユーザリセットが発生しました
ターゲットシステムにおいてユーザリセットが発生した場合に表示される
警告メッセージです。
データストローブエラー
ユーザ・プログラムの外部バスアクセスにおいて、一定時間以内にアクセ
スが完了しない場合に発生します。
強制ブレークに失敗しました
強制ブレークを発行しましたが、ユーザ・プログラムが停止しません。
ターゲットシステムに異常がないか確認してください。
ユーザープログラムは実行中です
ユーザ・プログラム実行中に、オンザフライ機能のないコマンドを実行し
ようとした場合に発生します。
Cソースコード・デバッガのエラーメッセージ
258
ユーザプログラムは停止中です
ユーザ・プログラム停止中に、TGおよびTSコマンドは実行できませ
ん。
トレースは実行中です
トレースを停止させずにトレース結果を表示することはできません。
トレースは停止中です
既にトレースが停止しているため、TSコマンドでトレースを停止するこ
とはできません。
トレースが停止していません
トレース停止処理を行なったにも関わらず、トレースが停止しないため、
トレース結果を表示することができません。インサーキット・エミュレー
タに異常が発生していることが考えられますので、このエラーが発生した
場合には巻末のお問い合わせ窓口までご連絡ください。
トレース内容はクリアされています
トレース内容がクリアされている場合、またはCソースコード・デバッガ
を起動してから1度もトレースしていない場合には、トレース結果を表示
する(TD,TDU,TDW)コマンドは実行できません。
ディレイカウンタの指定が正しくありません
ディレイカウンタは257∼16384までの範囲で指定できますが、そ
の範囲を超えた値を指定しようとしました。
Cソースコード・デバッガのエラーメッセージ
9・付 録
259
ディレイドトリガ成立後は使用できません
ディレイド・トリガ・トレースモードで、条件が成立したためにトレース
が停止した場合に、トレースを再開(TGコマンド)することはできませ
ん。
トレースイベントを解除します
トレース・イベントが解除、または無効化されたことを示す警告メッセー
ジです。
イベント/ブレークが設定できません(最大32点)
ソフトウェア・ブレークとハードウェア・ブレークは合計32点を超えて
設定することはできません。
同一アドレスにソフトウェアブレークが既に設定されています
指定したアドレスには既にソフトウェア・ブレークが設定されています。
同一のアドレスに複数のソフトウェア・ブレークを設定することはできま
せん。
コマンドの登録ができません
BP∼,/C<コマンド>コマンドで<コマンド>を登録する領域が不足
しているために、コマンドの登録ができません。
これ以上イベント/ブレークは設定できません
実行アドレス・イベントは4点まで、データ・イベントは内蔵データRA
M,外部メモリ空間に対してそれぞれ4点ずつまで、さらにイベントは合
計8点まで設定することができます。この数を超えて設定することはでき
ません。(ハードウェア・ブレークについても同様です。)
Cソースコード・デバッガのエラーメッセージ
260
イベント/ブレークが設定されていません
存在しないブレーク番号を指定した場合、またはハードウェア・イベント
/ブレークを指定すべきところにソフトウェア・ブレークを指定した場合
に発生します。
イベントの状態が変化しません
STOP/HALT/SLEEPなどマイコンの動作が停止している状態
では、ハードウェア・イベント/ブレークの設定や変更はできません。
指定の領域にはマッピングできません
エミュレーションメモリ/外部メモリをマッピングできない領域(内蔵R
AM,特殊レジスタ領域など)に対してマッピングしようとしました。
マッピングブロックが不足のためマッピングできません/
エミュレーションブロックが不足のためマッピングできません
エミュレーションブロック8ブロックを超えてマッピングしようとしまし
た。
エミュレーションメモリが不足のためマッピングできません
インサーキット・エミュレータに実装されている容量以上にエミュレー
ションメモリをマッピングしようとしました。
マッピングアドレスを4KB単位に変更します
マッピングは4KB単位で行ないますが、アドレスが4KB単位以外で指
定した場合、Cソースコード・デバッガは4KB単位になるようにアドレ
スを調整してマッピングを行ないます。その際にこの警告メッセージを表
示します。
Cソースコード・デバッガのエラーメッセージ
9・付 録
261
時間測定を連続モードに変更します
時間測定イベントが解除、または無効化されたため、時間測定を連続測定
モードに変更したことを示す警告メッセージです。
時間測定を一時中断しました
時間測定がパーシャルモード(イベント発生∼別のイベント発生までの時
間を測定)でユーザ・プログラム実行中に時間測定イベントを変更した場
合、時間測定を一時中断します。また、それまでの測定結果はクリアされ
てしまいます。このことを警告するメッセージです。
時間測定エラーが発生しました
時間測定モードがパーシャルモードの場合に、インサーキット・エミュ
レータが測定できる時間を超えています。
時間測定が完了していません
時間測定モードがパーシャルモードの場合に、時間測定開始・終了イベン
トが成立していないため、時間測定が完了していません。
時間測定イベントが設定されていません
時間測定モードをパーシャルモードに指定したときに、時間測定開始およ
び終了イベントが設定されていません。
メモリアクセスに失敗しました(タイムアウト)
エミュレーションメモリへの読み込みまたは書き込みに失敗しました。こ
のエラーが多発する場合は、インサーキット・エミュレータの異常が考え
られますので、巻末のお問い合わせ窓口までご連絡ください。
Cソースコード・デバッガのエラーメッセージ
262
Verifyエラー
メモリに正しくデータが書き込めませんでした。メモリの実装されていない
アドレスに書込み動作を行なった場合、あるいはライトオンリーのI/Oに
書き込みを行なった場合などに発生します。
特殊レジスタには書き込めません
特殊レジスタ領域へのフィルおよびブロック転送(F,Mコマンド)はでき
ません。
ウォッチ指定が重複しています
既に同一の内容をウォッチ指定しています。
ウォッチの設定ができません
ウォッチを16点を超えて設定しようとした場合に発生します。
指定された設定がありません
Yコマンドで削除すべきウォッチ登録が存在していません。
サンプリングされていません
プロファイル機能によって各関数の実行状況をサンプリングする前に、プロ
ファイル結果を表示しようとしました。
PICEの内部エラー
Cソースコード・デバッガの内部処理で不都合が生じた場合に表示されま
す。このエラーは通常起こらないように設計されています。
もし、このエラーが発生し、かつ再現性がある場合には巻末のお問い合わせ
窓口までご連絡ください。
Cソースコード・デバッガのエラーメッセージ
9・付 録
5
263
クイック・リファレンス
5-1 ウィンドウ・コマンド
■ 画面コントロール
カーソル切換え (コマンド/コード)
HOME
カーソルを1文字左に移動
←
(CTRL+S)
カーソルを1文字右に移動
→
(CTRL+D)
カーソルを1行上に移動
↑
(CTRL+E)
カーソルを1行下に移動
↓
(CTRL+X)
カーソルを1語左に移動
CTRL+A
カーソルを1語右に移動
CTRL+F
カーソルを行頭に移動
CTRL+Q・S
カーソルを行末に移動
CTRL+Q・D
1画面分ロールアップ
ROLL UP
(CTRL+C)
1画面分ロールダウン
ROLL DOWN
(CTRL+R)
カーソルをテキストの先頭へ移動
CTRL+Q・R
カーソルをテキストの最後へ移動
CTRL+Q・C
オプション・ウィンドウ拡大
CTRL+←
オプション・ウィンドウ縮小
CTRL+→
コマンド・ウィンドウ拡大
CTRL+↑
コマンド・ウィンドウ縮小
CTRL+↓
画面の再表示
CTRL+J
コマンド・ウィンドウを最大に拡大
CTRL+Q・W
コマンド・ウィンドウを最小に縮小
CTRL+Q・Z
画面の再表示(ウィンドウサイズ初期状態)
CTRL+Q・J
オプション・ウィンドウ表示(ON/OFF)
F2
(CTRL+4)
オプション・ウィンドウの切換え
CTRL+F2
(CTRL+O)
ソース/逆アセンブル切換え
F3
ソース/逆アセンブル切換え(カーソル指定)
CTRL+F3
クイック・リファレンス
264
■ 実行/ブレーク
実行 (Go)
F5
カーソル位置まで実行 (Come)
F7
シングルステップ実行 (SglStp)
F8
ブレーク (ソフトウェア・ブレーク)設定/解除 (Break)
F9
関数ステップ実行 (FncStp)
F10
強制ブレーク
ESC
コマンドの強制終了
CTRL+ SHIFT+GRPH
■ 文字列取込み/選択
カーソル位置の文字列取込み (Get)
CTRL+F9
カーソル位置による文字列選択 (Sel)
CTRL+F10
(CTRL+G)
文字列選択ローカルコマンド
メモ登録 (Memo)
F1∼F5, F10
インスペクト (Inspct)
F6
(CTRL+I)
(I)
ウォッチ登録 (Watch)
F7
(CTRL+W)
(W)
ビュー表示 (View)
F8
(CTRL+V)
(V)
文字列取込み (Get)
F9
(CTRL+G)
(G)
■ ファイル関連
ソースファイル切換え
SHIFT+HOME
ファイル選択 (File)
F1
文字列検索実行 (前方↓)(Search)
F4
検索文字列の入力/検索実行 (前方↓)
CTRL+Q・F
文字列検索実行 (後方↑)(Srch↑)
CTRL+F4
検索の中断
ESC
クイック・リファレンス
(CTRL+L)
(CTRL+B)
9・付 録
265
■ プロセス制御
デバッガへの復帰
CTRL+0
サブ・プロセスへの移行
CTRL+1
オプション・ウィンドウ表示(ON/OFF)
CTRL+4
RAMモニタ表示(ON/OFF)
CTRL+5
■ シェル
バックスペース(1文字削除)
BS
(CTRL+H)
カーソルを1文字左へ移動
←
SHIFT+←
(CTRL+S)
カーソルを1文字右へ移動
→
SHIFT+→
(CTRL+D)
カーソルを行頭へ移動 (Ln Top)
SHIFT+F4
(CTRL+A)
カーソルを行末へ移動 (Ln Bot)
SHIFT+F5
(CTRL+F)
カーソル位置の1文字削除
DEL
(CTRL+G)
全文字削除 (Ln Can)
SHIFT+F7
(CTRL+U)
挿入モード/置換モード切換え
INS
(CTRL+V)
直前のヒストリ・バッファ表示/検索
SHIFT+↑
(CTRL+W)
直後のヒストリ・バッファ表示/検索
SHIFT+↓
(CTRL+Z)
ヒストリ・バッファから1文字複写 (C1)
SHIFT+F1
ヒストリ・ウィンドウの表示 (Histry)
SHIFT+F2
ヒストリ・バッファから複写 (CA)
SHIFT+F3
シンボル拡張ウィンドウ表示 (ExtSym)
SHIFT+F6
ヒストリ・バッファのクリア (All Can)
SHIFT+F8
SHIFT+→
(CTRL+D)
クイック・リファレンス
266
■ その他
メモ文字列指定
CTRL+SHIFT+F1∼F10
オプションメニュー表示/変更 (Option)
SHIFT+F10
ウィンドウ・コマンドの中断/終了
ESC
表示中断、ステップ実行中断など
STOP
コマンド・ウィンドウ表示一時停止/再開
CTRL+S
プリンタへのエコー出力
CTRL+P
ヘルプ表示
HELP
(CTRL+C)
■ データ参照/変更
変数のインスペクト(Inspct)
F6
(CTRL+I)
インスペクトのローカル・コマンド
ズームイン/アウト(Zoom)
F4
基数変更 (16< >10)
F5
インスペクト (Inspct)
F6
(CTRL+I)
(I)
ウォッチ登録 (Watch)
F7
(CTRL+W)
(W)
ビュー表示 (View)
F8
(CTRL+V)
(V)
配列レンジ指定 (Range)
F9
(R)
数値変更 (Change)
F10
(C)
変数のウォッチ登録 (Watch)
CTRL+F7
(CTRL+W)
変数のビュー表示 (View)
CTRL+F8
(CTRL+V)
クイック・リファレンス
9・付 録
267
5-2 ダイアログ・コマンド
■プログラムロード
L [<ファイル名>] LP [<ファイル名>] デバッグ対象となるプログラムとデバッグ情報
の両方を読み込みます。
デバッグ対象となるプログラムのみを読み込み
ます。
■ファイル読み込み/書き込み
RD <ファイル名>[,<アドレス>]
指定ファイルを指定アドレスに読み込みます。
WR <ファイル名>,<アドレスS>,<アドレスE>
範囲指定されたメモリ内容を指定ファイルへ書
き込みます。
■プログラム実行
T [<回数>] シングルステップ実行します。(F8)
P [<回数>] 関数ステップ実行します。(F10)
G [=<アドレスS>][,<アドレスB>][,/W] ユーザ・プログラムを実行します。(F5,F7)
/W
: オンザフライを禁止してユーザ・プログ
ラムを実行します。
RESET
マイコンをリセットします。
■ブレーク・イベント
EV <アドレスS>[~< アドレスE> ][,<ステータス>][,<データ>[,{/B|/W|/
D}][,/N]][,/<回数>]
イベントの設定を行います。
<ステータス> EX
RW
:実行アドレス・イベント
:読み込みまたは書き込み動作でデータ・
イベント
R
:読み込み動作でデータ・イベント
W
:書き込み動作でデータ・イベント
省略 :<データ>指定のある場合はRW(読み込み
または書き込み動作でデータ・イベント)
<データ>指定のない場合はEX(実行ア
ドレス・イベント)
<アクセス幅> データイベントのときのデータアクセス幅を指
定
/B
:8ビットデータアクセスでイベント
/W
:16ビットデータアクセスでイベント
/D
:32ビットデータアクセスでイベント
クイック・リファレンス
268
省略 :アクセス幅を特定しない(サイズドント
ケア)
/N <データ>と一致しなかった場合にイベント成立
EV /C{<リスト|*>}
指定されたイベント成立時、すべてのイベント成
立済みフラグおよびカウンタを初期化します。
EV
設定されているイベントの表示を行います。
BP <アドレスS> [~< アドレスE> ][,<ステータス>][,<データ>[,{/B|/W|/D}]
[,/N]][,/<回数>][,/C<コマンド>]
ブレーク・イベントを設定します。(F9)
<ステータス> EX
: 実行アドレス・ブレーク
RW : 読み込みまたは書き込み動作でデータ・
ブレーク
R
: 読み込み動作でデータ・ブレーク
W
: 書き込み動作でデータ・ブレーク
省略 : <データ>指定のある場合はRW
<データ>指定がなく、<アドレスE>ま
たは<回数>指定がある場合はEX
それ以外はソフトウェア・ブレーク
<アクセス幅> データブレークのときのデータアクセス幅を指定
/B :8ビットデータアクセスでブレーク
/W :16ビットデータアクセスでブレーク
/D :32ビットデータアクセスでブレーク
省略 :アクセス幅を特定しない(サイズドント
ア)
/N <データ>と一致しなかった場合にブレーク成立
/C<コマンド>
ブレーク後に<コマンド>を自動実行
BP 設定されているブレークの表示を行います。
BPA <リスト>
リストで指定されたブレーク・イベントをアン
ド・ブレークに設定します。
BPS <リスト>
リストで指定されたブレーク・イベントをシー
ケンシャル・ブレークに設定します。
BC/EC{<リスト>|*} リストで指定されたブレーク・イベントを解除
します。
BD{<リスト>|*}
リストで指定されたブレーク・イベントを一時
的に無効にします。
BE{<リスト>|*}
リストで指定されたブレーク・イベントを有効
にします。
■ハードウェア関連
TM [<モード>][{/B| /C | /S|/T[<カウント>],<イベント番号>}]
トレース・モードの設定をします。
クイック・リファレンス
9・付 録
<モード>
269
INT : 内蔵RAMバス(デフォルト)
EXT : 拡張RAMバス
ALL :ノーマル・トレース・モード(デフォルト)
JMP :分岐トレース・モード
<イベント番号>:イベント条件付きトレース・
モード
/B
トレースメモリがフルになったときにブレーク
/C
プログラムが停止するまでトレース継続
/S
トレースメモリがフルになったときにトレース
のみ停止(ユーザ・プログラムは停止しませ
ん。)
/T[<カウント>],<イベント番号>
<イベント番号>で指定したイベントが条件成立
後<カウント>分トレースした後停止
TM /F
トレース・モードをデフォルトに設定(INT,
ALL,/C)
TM
現在のトレース・モードの設定を表示します。
TG
トレースの再開
TS
トレースの停止
TD
トレースメモリの内容を表示(16進ダンプ)す
るモードになります。
TDU
トレースメモリの逆アセンブル表示モードにな
ります。
トレース表示モード内のサブ・コマンド
[-]B
トレースメモリの先頭(最後)を表示します。
P <ページ>
表示開始フレームを<ページ>だけ移動し、移動
後の1ページを表示します。
N <フレームアドレス> 表示開始フレームを<フレームアドレス>に設定
します。
D [<フレームアドレスS>][<フレームアドレスE>]
フレーム範囲の内容を16進表示します。
L [<フレームアドレスS>][<フレームアドレスE>]
フレーム範囲内容を逆アンブル表示します。
C
“:”表示になっているフレームを画面から消
去します。もう一度実行すると“:”を表示し
ます。
Q/.
トレース表示モードを終了します。
TDW
トレースメモリの内容をウィンドウ・モードで
表示します。
TI [<モード>]
タイマモードの設定をします。
<モード>
RUN
: プログラム実行開始から停止まで
を時間測 定します。
FIRST
:イベント間を1回だけ時間測定します。
MIN/MAX: イベント間を継続的に測定し、そ
の中の最小値と最大値を求めます。
/S<イベント番号>
時間測定開始イベントを指定します。
/E<イベント番号>
時間測定終了イベントを指定します。
クイック・リファレンス
270
TI <クロック>
<クロック>
タイマクロックの設定を行います。
/T1 :分解能 25ns
/T2 :分解能 50ns
/T4 :分解能 100ns
/M :マイコンのクロック
TI STOP
タイマモードの解除
TI
現在設定されているタイマ・モード、タイマの
値を表示します。
TRIG OUT <データ>
8ビットのポートデータ<データ>を出力し
ます。
TRIG RAM <アドレス> マイコンが<アドレス>をアクセスしたとき、
<アドレス>の内容を出力します。
TRIG EVENT
イベントの成立状態を出力します。
TRIG
現在設定されているトリガ出力を表示します。
MAPI / EXI <アドレスS>, <アドレスE>[,{/F| /S}]
メモリをエミュレータ内のメモリ(エミュレー
ションRAM)に割り付けます。
/F
高速エミュレーションRAM
/S
低速エミュレーションRAM
MAPE / EXE <アドレスS>,<アドレスE>
メモリをユーザ・ターゲットの資源に割り付け
ます。
MAP / EX
メモリ割り付けの設定内容を表示します。
■パフォーマンス測定
SM[<アドレス>]
SMB <アドレス>
SMC <番号> サンプル領域の先頭アドレスを指定します。
ビット単位で表示するアドレスを指定します。
ビット単位で表示するアドレスのクリアをしま
す。
SMW
RAMモニタの画面を表示します。
SM
現在のサンプル領域の表示をします。
PROF [<モード>] サブルーチンのアクセス状態を集計します。
(プロファイル機能)
<モード>
ON :プロファイルON
OFF :プロファイルOFF
CLR :プロファイル結果のクリア
PROF プロファイル結果を表示します。
クイック・リファレンス
9・付 録
271
■メモリ
D[<型>] [<アドレスS>, <アドレスE>][,<カウント>][,<基数>]
<アドレスS>から<アドレスE>の範囲内のメモリ
内容を基数指定に従って表示します。
<型>
B :バイト(8ビット)表示
W :ワード(16ビット)表示
D :ダブルワード(32ビット)表示
S :4バイト実数(ショートフロート)表示
L :8バイト実数(ロングフロート)表示
A :アスキー表示
<基数>
/H :16進表示指定
/D :10進表示指定
/O :8進表示指定
E[<型>] [<アドレス>][<データ>]
指定アドレスより型指定された形式でメモリ内
容を変更します。
<型>
B : バイト(8ビット)変更
W :ワード(16ビット)変更
D :ダブルワード(32ビット)変更
S :4バイト実数(ショートフロート)変更
C <アドレスS>,<アドレスE>,<アドレスD> <アドレスS>から<アドレスE>までの範囲のメモ
リを、<アドレスD>から始まるメモリ内容と比較
します。
F[<型>] <アドレスS>,<アドレスE>,<データ>
指定範囲を型指定された形式で<データ>の値で
満たします。
<型>
B :バイト(8ビット)フィル
W :ワード(16ビット)フィル
D :ダブルワード(32ビット)フィル
M <アドレスS>,<アドレスE>,<アドレスD>
<アドレスS>から<アドレスE>までの範囲のメモ
リブロックを<アドレスD>から始まるメモリ位置
にブロック転送します。
S[<型>] <アドレスS>,<アドレスE>,<検索パターン>
<アドレスS>から<アドレスE>のアドレス範囲で
<検索パターン>に一致するメモリのアドレスを
表示します。
<型>
B :バイト(8ビット)検索
W :ワード(16ビット)検索
D :ダブルワード(32ビット)検索
クイック・リファレンス
272
■レジスタ
R
すべてのレジスタとフラグの内容を16進数で表
示します。
R <レジスタ名>
<レジスタ名>/<フラグ名>の内容を変更します。
<レジスタ>+REG=<値> 指定レジスタの値を変更します。
<フラグ>+FLG=<値>
指定フラグの値を変更します。
■式の表示
H <式>
式の値を8,10,16進数およびアスキーで表示し
ます。
H <式1>,<式2>
<式1>と<式2>の和および差を表示します。
PRINTF/PF<フォーマット>[,<パラメータ>]
C言語のprintf 関数と同等なフォーマット表示を
します。
■シンボル
X <シンボル名>
シンボル名(指定がなければすべてのシンボ
ル)の表示をします。
[.]<シンボル名>=<アドレス>
<シンボル名>に、即値<アドレス>を設定(登
録)します。
[.]<シンボル名>=*
<シンボル名>のシンボルをシンボルテーブルか
ら削除します。
■コード表示
V[.][<ファイル名>:][<行>]
指定ファイルの指定行をコード・ウィンドウに
表示します。
V <シンボル名>
指定シンボルのソースファイルをコード・ウィ
ンドウに表示します。
U [<アドレス>]
コード・ウィンドウに指定番地から逆アセンブ
ル表示を行います。
UPUSH [<アドレス>]
現在の表示アドレスをアドレススタックにPUSH
して指定アドレスを逆アセンブル表示します。
UPOP
最後にUPUSHされたアドレスより逆アセンブル
表示してアドレススタックをPOPします。
UEND
最後にUPUSHされたアドレスより逆アセンブル
表示します。
UX [<アドレスS>]
コマンド・ウインドウに指定番地から逆アセン
[,<アドレスE>]
ブル表示します。
K
関数のバックトレース
クイック・リファレンス
9・付 録
273
■アセンブル
A[<アドレス>]
指定番地よりアセンブルしてメモリに直接展開
します。
■Cのデータ参照/変更
INS <変数名>[,<関数名>]
変数名で指定した変数、配列などをインスペク
ト表示します。
W[<型>] <アドレス>[,<カウント>][,<基数>]
ウォッチに登録します。
<型>
B :バイト(8ビット)表示
W :ワード(16ビット)表示
D :ダブルワード(32ビット)表示
A :アスキー表示(8ビット単位)
S :4バイト実数(ショートフロート)表示
<基数>
/H :16進表示指定
/D :10進表示指定
/O :8進表示指定
W? <Cの式>
Cの式表示をウォッチ登録します。
VAL/? <Cの式>[,<関数名>]
Cの式を評価して表示します。
Y {<リスト>|*}
リストで指定されたウォッチ登録を削除しま
す。
■システム
Q / EXIT
Cソースコード・デバッガを終了します。
HELP
ヘルプ画面表示を行います。
! <コマンド>
コマンドを実行します。
!!
ヒストリの表示をします。
!<文字列>
文字列で示されたヒストリを検索します。
■画面コントロール/その他
CLS
コマンド・ウィンドウをクリアします。
HOME
コマンド・ウィンドウのカーソルをホームポジ
ションへ移動します。
コマンド・ウィンドウの表示出力指定をしま
す。
コマンド・ウィンドウの表示出力抑制指定をし
ます。
LIST
NLIST
BEL
ベルを鳴らします。
クイック・リファレンス
274
TIME
現在時刻(時:分:秒)の表示をします。
WAIT
一時停止します。
PRMPT <プロンプト文字>
プロンプトを指定された文字に変更します。
*
コメント行指定
> <ファイル名>
コマンド・ウィンドウの表示/入力過程をファ
イルに出力します(ログ出力機能)。
指定ファイルへのアペンド(追加)ログ出力をし
ます。
ログ出力を停止(ログ・ファイルのクローズ)し
ます。
コマンド・ウィンドウの入力をファイルから行
います(バッチ機能)。ESCキーでバッチ処理の中
断ができます。
■ログ出力/バッチ
>> <ファイル名>
>
< <ファイル名>
■メモ
MEM<番号>[,<文字列>] 番号で示されたメモに文字列を登録します。
MEM *
現在登録されているすべてのメモを削除しま
す。
MEM
現在登録されているメモの内容を表示します。
N {10|16}
入力基数を10進または16進に変更します。
■基数変更
■オプション設定
OPTION < reg > [,< code >[,< case >]]
各種オプションを設定します。(SHIFT+F10)
< reg >
{ON|OFF}
< code >
{SRC|ASM} :コード・ウィンドウのソース/逆
アセンブル表示の切り換え
{ON|OFF} :シンボル名の大文字/小文字判別
の制御
< case >
クイック・リファレンス
:レジスタ・ウィンドウの表示制御
9・付 録
275
■マクロ・コマンド
{<マクロ名><マクロ本体>}
マクロ名でマクロ本体を定義します。
DO{<マクロ本体>}WHILE <式>
C言語のdo..while文と同様なマクロ・コマンド
FOR{<コマンド1>,<式>,<コマンド2><マクロ本体>}
C言語のfor文と同様なマクロ・コマンド
WHILE{<式><マクロ本体>}
C言語のwhile文と同様なマクロ・コマンド
REPEAT{<パラメータリスト><マクロ本体>}
リピート・マクロ・コマンド
BREAK
マクロから抜け出します。
LALL
マクロでの表示出力指定をします。
SALL
マクロでの表示抑制指定をします。
MLIST <マクロ名>
マクロを表示します。
MLIST ><ファイル名>
現在定義されているすべてのマクロを指定ファ
イルへ書き込みます。
KILL <マクロ名>
マクロを削除します。
IF{<式><コマンド>[}ELSEIF{<式>]<コマンド>[}ELSE{]<コマンド>}
C言語のif,elseif,else文と同様な条件制御コマンド
です。
KEYIN
次の1行をキーボードから入力することを指示し
ます。
<{ファイル名}
指定されたマクロ・ファイルからマクロの読み
込みをします。
_ _ERR_ _
前回実行したコマンドでエラーが発生した場合
は1、正常にコマンドを実行した場合は0
_ _RUN_ _
ユーザ・プログラムが実行中の場合は1、それ以
外は0
_ _DEBINF_ _
すべてのシンボルを削除するためのデバッガ特
殊シンボル
■特殊シンボル
クイック・リファレンス
276
6
PC/AT(DOS/V)バージョン補足
PC/AT(DOS/V)バージョンのCソースコード・デバッガを使用す
る場合に、PC−9800シリーズとのキー操作の違いを説明します。
※( )内がPC−9800シリーズのキー操作方法です。
6-1 画面オペレーション
Page
Up /
( ROLL
UP /
Ctrl + C
CTRL + C )
コード・ウィンドウにカーソルがある場合はコード・ウィンドウの表示内
容(C ソース表示あるいは逆アセンブラ表示)1画面分ロールアップしま
【 ☞ P.67】
す。
Page
Down /
ROLL
( DOWN
/
コード・ウィンドウにカーソルがある場合はコード・ウィンドウの表示内
Ctrl + R
CTRL + R )
容(C ソース表示あるいは逆アセンブラ表示)1画面分ロールダウンしま
【 ☞ P.67】
す。
Alt + F1
( CTRL + ← )
【 ☞ P.68】
オプション・ウィンドウを拡大します。すなわち、オプション・ウィンド
Alt + F2
( CTRL + → )
【 ☞ P.68】
Alt + F3
( CTRL + ↑ )
【 ☞ P.68】
Alt + F4
( CTRL + ↓ )
【 ☞ P.68】
ウとコマンド/コード・ウィンドウの縦方向の区切りが左に移動します。
オプション・ウィンドウを縮小します。すなわち、オプション・ウィンド
ウとコマンド/コード・ウィンドウの縦方向の区切りが右に移動します。
コマンド・ウィンドウを拡大(コード・ウィンドウを縮小)します。すな
わち、コマンド・ウィンドウとコード・ウィンドウの区切りが1行上に移
動します。
コマンド・ウィンドウを縮小(コード・ウィンドウを拡大)します。すな
わち、コマンド・ウィンドウとコード・ウィンドウの区切りが1行下に移
動します。
PC/AT(DOS/V)バージョン補足
9・付 録
277
6-2 データ変更/参照コマンド
インスペクト・ウィンドウ内のローカル・コマンド
Page
Ctrl + R
Up /
ROLL
( DOWN / CTRL + R
【 ☞ P.89】
Page
Down /
( ROLL
UP /
表示項を1項上に移動します。
)
Ctrl + C
CTRL + C )
表示項を1項下に移動します。
【 ☞ P.89】
6-3 プロセス制御コマンド
Ctrl + Pause /
Ctrl + Break
( CTRL + 0 )
【 ☞ P.77】
サブ・プロセス実行中にこのキーを押すと、サブ・プロセスを一時保留
(テンキー)
Ctrl +1 /
Alt + 1
( CTRL + 1 )
☞
【 P.77】
サブ・プロセスが保留状態になっている場合、C ソースコード・デバッガ
(テンキー)
Ctrl +4 /
Alt + 4
( CTRL + 4 )
【 P.77】
☞
レジスタ・ウィンドウおよびオプション・ウィンドウ表示のON/OFF
Alt + 5
( CTRL + 5 )
【 P.77】
☞
(停止)し、Cソースコード・デバッガに制御を戻します。
を一時保留(停止)し、サブ・プロセスに制御を渡します。
制御を行います。レジスタ・ウィンドウおよびオプション・ウィンドウを
表示していない場合には、これらのウィンドウを表示します。既にウィン
ドウを表示している場合には、ウィンドウを消去します(F2キーと同じ
機能です)。
RAMモニタ表示に変更します。デバッガ画面表示に戻る場合は再度
Alt+5キーを押してください。
PC/AT(DOS/V)バージョン補足
278
6-4シェル・コマンド
ヒストリ・ウィンドウ/シンボル拡張ウィンドウのキー操作
Page
Ctrl + R
Up /
ROLL
( DOWN
/ CTRL + R
【 P.80】
☞
Page
Ctrl + C
Down /
( ROLL
UP / CTRL + C
【 P.80】
☞
表示項を1項上に移動します。
)
表示項を1項下に移動します。
)
6-5 その他のウィンドウ・コマンド
End
( HELP )
【 ☞ P.83】
デバッグ画面を待避してヘルプ表示をします。このキーを押すと、前回のダ
イアログ・コマンドのヘルプ表示をします。例えば、ダイアログ・コマンド
で入力エラーをした場合にこのキーを押すと、目的のコマンドヘルプが表示
されます。あるいは、インスペクトや文字列選択(Sel)でこのキーを押
すとそれぞれのローカル・コマンドがヘルプ表示されます。ヘルプ表示の
クローズ(終了)は、ESCキーを押してください。
☞ HELP コマンド】
【 英語モードでCソースコード・デバッガを起動した場合、ヘルプ画面
は正常に表示されません。(ヘルプファイルに全角文字が使用されて
いるため、文字化けを起こします)
Ctrl + Shift + Alt
( CTRL
+SHIFT +GRPH )
【 ☞ P.71】
マイコンが何らかの理由で暴走し、入力したコマンドが終了しない場合
に、強制的にそのコマンドを抜け出します。
PC/AT(DOS/V)バージョン補足
索 引
記号
アルファベット順
五十音順
280
索
引
C
記号
C(メモリ比較)コマンド ........................................................... 171
! コマンド
サブ・プロセス起動コマンド .............................................. 203
ヒストリ機能コマンド .......................................................... 205
!! コマンド(ヒストリ機能) .................................................. 205
Cソース表示 ..................................................................................... 43
Cソースコード・デバッガ・フロッピーディスク ..................... 20
CLS(画面クリア)コマンド ................................................... 208
* コマンド(コメント) .............................................................. 212
. コマンド(シンボル登録/変更/削除) ......................... 184
D
< コマンド(バッチ) .................................................................. 214
> コマンド(ログ出力) .............................................................. 213
? コマンド(Cの式評価) .......................................................... 197
D(メモリ表示)コマンド ........................................................... 167
DO{}WHILE(do ... whileマクロ実行)コマンド ....... 227
_ _DEBINF_ _ ......................................................................... 184
_ _ERR_ _ ....................................................................................... 99
_ _RUN_ _ ....................................................................................... 99
E
E(メモリ変更)コマンド ........................................................... 169
EC(ブレーク・イベント解除)コマンド ............................... 136
アルファベット順
EV(イベント設定)コマンド ................................................... 127
EX(メモリ割付け)コマンド ................................................... 158
EXIT(終了)コマンド ........................................................... 201
A
F
A(アセンブル)コマンド ........................................................... 190
F(メモリ・フィル)コマンド ................................................... 172
FOR{ }(for .. マクロ実行)コマンド .............................. 228
B
G
BC(ブレーク解除)コマンド ................................................... 136
BD(ブレーク無効)コマンド ................................................... 137
G(実行)コマンド ....................................................................... 121
BE(ブレーク有効)コマンド ................................................... 139
BEL(ベル)コマンド ............................................................... 210
H
BP(ブレーク設定/表示)コマンド ....................................... 130
BPA(アンド・ブレーク設定)コマンド ............................... 133
H(式の表示)コマンド ............................................................... 179
BPS(シーケンシャル・ブレーク設定)コマンド ............... 134
HELP(ヘルプ表示)コマンド ............................................... 202
BREAK(マクロ抜け出し)コマンド ................................... 231
HOME(カーソル・ホーム)コマンド ................................... 208
HELP(環境変数) ................................................................... 202
記号・アルファベット順
索 引 281
I
PATH(環境変数) ..................................................................... 25
PF(フォーマット表示)コマンド ........................................... 180
IF{ }(マクロの条件付実行)コマンド .................................. 236
PRINTF(フォーマット表示)コマンド ........................... 180
INS(インスペクト)コマンド ............................................... 193
PRMPT(プロンプト変更)コマンド ................................... 211
PROF(アクセス状態集計)コマンド ................................... 164
K
Q
KEYIN(キーボード入力)コマンド ................................... 237
KILL(登録マクロ削除)コマンド ....................................... 235
K(バックトレース)コマンド ................................................... 191
Q/EXIT(終了)コマンド ................................................... 201
R
L
R(レジスタ値表示/変更)コマンド ....................................... 177
L/LP(プログラム・ロード)コマンド ............................... 114
LALL(マクロ表示出力)コマンド ....................................... 232
LIST(表示出力指定)コマンド ........................................... 209
RAMモニタ ..................................................................................... 77
RD(ファイル/プログラム・リード)コマンド ................... 115
REPEAT{ }(繰り返しマクロ実行)コマンド .................. 230
RESET(ユーザCPUのリセット)コマンド ................... 123
M
M(メモリ転送)コマンド ........................................................... 174
MAP/EX(メモリ割付け)コマンド ................................... 158
MEM(メモ)コマンド ............................................................... 215
S
S(メモリ検索)コマンド ........................................................... 175
SALL(マクロ表示出力抑制)コマンド ............................... 233
SM(サンプル領域設定/解除)コマンド ............................... 161
MLIST(登録マクロ表示)コマンド ................................... 234
T
N
T(シングルステップ実行)コマンド ....................................... 117
N(基数変更)コマンド ............................................................... 216
NLIST(表示出力抑制指定)コマンド ............................... 209
TD/TDU(リアルタイム・トレース表示)コマンド ....... 148
TDW(トレース・ダンプ・ウィンドウ表示)コマンド ....... 151
TG(トレース開始)コマンド ................................................... 146
TI(タイマ)コマンド ............................................................... 153
O
TIME(時刻表示)コマンド ................................................... 210
TM(トレース設定/表示)コマンド ....................................... 142
OPTION(オプション設定)コマンド ............................... 217
TMP/TEMP(環境変数) ..................................................... 25
TRIG(トリガの設定/表示)コマンド ............................... 156
TS(トレース停止)コマンド ................................................... 147
P
P(関数ステップ実行)コマンド ............................................... 119
U
PANASRC(環境変数) .......................................... 25, 114,187
U(逆アセンブル表示)コマンド ............................................... 188
記号・アルファベット順
282
V
五十音順
V(ソース行表示)コマンド ....................................................... 187
VAL/?(Cの式評価)コマンド ........................................... 197
ア
W
アクセス状態集計コマンド(PROF) ................................... 164
W(ウォッチ登録)コマンド ....................................................... 195
WAIT(一時停止)コマンド ................................................... 211
アセンブル・コマンド(A) ....................................................... 190
アドレス、Cソースコード・デバッガで扱える数値 ............... 100
WHILE{ }(while .. マクロ実行)コマンド .............. 229
WR(ファイル/プログラム・ライト)コマンド ................... 116
イ
一時停止コマンド(WAIT) ................................................... 211
X
イベント解除コマンド(EC) ................................................... 136
X(シンボル表示)コマンド ....................................................... 182
イベント設定コマンド(EV) ................................................... 127
インサーキット・エミュレータ ........................................... 16,18,19
インジケータ無効指定(−N)、起動オプション ..................... 56
Y
インタフェース・ボード ......................................................... 18, 243
取付け .................................................................................. 22, 23
Y(ウォッチ削除)コマンド ....................................................... 199
インスペクト機能 ............................................................................. 84
インスペクト・コマンド(INS) ........................................... 193
ウ
ウィンドウ ......................................................................................... 32
ウィンドウ・コマンド ........................................................ 66-83,263
ウィンドウの表示 ....................................................................... 62-65
ウォッチ・ウィンドウ ..................................................................... 64
ウォッチ・ウィンドウ全削除 ......................................................... 48
ウォッチ機能 ..................................................................................... 92
ウォッチ削除コマンド(Y) ....................................................... 199
ウォッチ登録コマンド(W) ....................................................... 195
ウォッチ表示コマンド
Wコマンド .............................................................................. 195
エ
エディタ画面への移行 ..................................................................... 50
エラーメッセージ ........................................................................... 249
演算式 ............................................................................................... 104
アルファベット順・五十音順
索 引 283
オ
サ
オプション・ウィンドウ ................................................................. 64
サイズ指定(−B)、起動オプション ...................................... 56
オプション設定コマンド(OPTION) ............................... 217
サブ・プロセス ................................................................................. 49
オンザフライ機能 ........................................................................ 11,16
起動 ............................................................................................ 49
起動コマンド(!) .............................................................. 203
サブ・プロセスからの復帰 .................................................... 50
カ
サンプル領域設定/解除コマンド(SM) ............................... 161
外形寸法 ........................................................................................... 241
カーソル移動、ウィンドウ間 ......................................................... 42
シ
カーソル・ホーム・コマンド(HOME) ............................... 208
過電流防止 ....................................................................................... 243
シェル機能 ......................................................................................... 78
画面クリアコマンド(CLS) ................................................... 208
式の表示コマンド(H) ............................................................... 179
画面コントロール ............................................................................. 66
時刻表示コマンド(TIME) ................................................... 210
環境仕様 .................................................................................... 241,248
システム制御コマンド
環境変数
!!コマンド .......................................................................... 205
HELP ............................................................................ 25, 202
!コマンド ...................................................................... 203-205
PANASRC .......................................................... 25,114,187
?コマンド .............................................................................. 197
PATH .................................................................................... 25
HELPコマンド .................................................................. 202
TMP/TEMP .................................................................... 25
Qコマンド .............................................................................. 201
関数ステップ実行 ............................................................................. 44
実行コマンド(G) ....................................................................... 121
関数ステップ実行コマンド(P) ............................................... 119
実行 .................................................................................................... 70
実行時間測定コマンド(TI) ................................................... 153
終了、Cソースコード・デバッガ ................................................. 52
キ
終了・コマンド(Q/EXIT) ............................................... 201
状態表示エリア ................................................................................. 64
機器一覧 ............................................................................................. 18
基数変更コマンド(N) .............................................................. 216
起動、Cソースコード・デバッガ ........................................... 36, 53
シングルステップ実行 ..................................................................... 44
シングルステップ実行コマンド(T) ....................................... 117
起動オプション ................................................................................. 56
シンボル
登録/変更/削除コマンド( .) ..................................... 184
行番号、Cソースコード・デバッガで扱える数値 ................... 100
表示コマンド(X) .............................................................. 182
逆アセンブル表示 ............................................................................. 43
Cソースコード・デバッガで扱えるシンボル .................... 97
逆アセンブル表示コマンド(U) ............................................... 188
供給電源 ........................................................................................... 241
強制終了 ............................................................................................. 83
ス
スクロール ......................................................................................... 42
コ
スタック・ウィンドウ ..................................................................... 64
消去 ............................................................................................ 41
構造体と共用体のインスペクト ..................................................... 88
コード・ウィンドウ ......................................................................... 62
コマンド・ウィンドウ ..................................................................... 62
表示 ............................................................................................ 41
ストリング(文字列)、
Cソースコード・デバッガで扱える数値 ............................ 100
コメント・コマンド(*) ........................................................... 212
五十音順
284
セ
ト
接続手順、機器 ................................................................................. 24
動作環境 ............................................................................................... 2
特殊シンボル ..................................................................................... 99
トリガ・設定/表示コマンド(TRIG) .................................. 156
ソ
トレース開始コマンド(TG) ................................................... 146
トレース禁止コマンド(TS) ................................................... 147
ソース行表示コマンド(V) ....................................................... 187
ソフトウェア・ブレーク ............................................................... 125
タ
トレース・ダンプ・ウィンドウ表示コマンド(TDW) ....... 151
トレース・メモリ・コマンド(TM) ....................................... 142
ニ
ダイアログ・コマンド ............................................................. 95-218
タイトル表示 ..................................................................................... 65
入力書式、コマンド ......................................................................... 96
2項演算子 ....................................................................................... 104
タイマ・コマンド(TI) ........................................................... 153
ターゲット・インタフェース ....................................................... 242
単項演算子 ....................................................................................... 104
ハ
ハードウェア・ブレーク ............................................................... 125
テ
バッチ・コマンド(<) ............................................................... 214
ディップ・スイッチ ............................................................... 243-247
ハードウェア関連コマンド
MAP/EXコマンド .......................................................... 158
データ参照機能 ........................................................................... 84-94
TDWコマンド ...................................................................... 151
データ表示/変更コマンド
TD/TDUコマンド .......................................................... 148
.コマンド ......................................................................... 184
TGコマンド .......................................................................... 146
Aコマンド .............................................................................. 190
TIコマンド .......................................................................... 153
Cコマンド .............................................................................. 171
TMコマンド ...................................................................... 142
Dコマンド .............................................................................. 167
TSコマンド .......................................................................... 147
Eコマンド .............................................................................. 169
Fコマンド .............................................................................. 172
TRIGコマンド .................................................................. 156
バックトレース・コマンド(K) ............................................... 191
Hコマンド .............................................................................. 179
Mコマンド .............................................................................. 174
PFコマンド .......................................................................... 180
ヒ
PRINTFコマンド .......................................................... 180
Rコマンド .............................................................................. 177
Sコマンド .............................................................................. 175
ヒストリ機能コマンド
! .............................................................................................. 205
Uコマンド .............................................................................. 188
!! .......................................................................................... 205
Vコマンド .............................................................................. 187
ビュー機能 ......................................................................................... 93
Xコマンド .............................................................................. 182
表示出力指定コマンド(LIST) ........................................... 209
デバッグ作業の流れ ......................................................................... 33
表示出力抑制指定コマンド(NLIST) ............................... 209
デフォルト拡張子指定、起動オプション(−E) ..................... 58
電気的仕様 ............................................................................... 241, 248
電源のON/OFF ......................................................................... 29
五十音順
索 引 285
フ
ヘ
ファイル選択 ................................................................................ 42,43
ベル・コマンド(BEL) ........................................................... 210
ファイル選択ウィンドウ表示 ......................................................... 42
ヘルプ ................................................................................................. 38
ファイル/プログラム・ライト・コマンド(WR) ............... 116
ヘルプ・ウィンドウ消去 ........................................................ 39
ファイル/プログラム・リード・コマンド(RD) ............... 115
ヘルプ・ウィンドウ表示 ........................................................ 38
ファンクション・キー ..................................................................... 82
ヘルプ表示コマンド
HELP .................................................................................. 202
フォーマット表示コマンド
PF .......................................................................................... 180
PRINTF .......................................................................... 180
フラット・ケーブル ......................................................................... 18
ホ
ブレーク
アンド・ブレーク設定コマンド(BPA) ...................... 133
解除コマンド(BC/EC) .............................................. 136
ホストコンピュータの設定 ............................................................. 25
有効コマンド(BE) .......................................................... 139
無効コマンド(BD) .......................................................... 137
マ
シーケンシャル・ブレーク設定コマンド(BPS) ...... 134
設定/表示コマンド(BP) .............................................. 130
ブレーク・ポイント管理コマンド
BC/ECコマンド .............................................................. 136
マクロ ................................................................................................. 51
マクロ・コマンド実行 ..................................................................... 51
do ... whileマクロ実行コマンド
BDコマンド .......................................................................... 137
(DO { } WHILE) .................................................. 227
BEコマンド .......................................................................... 139
for ... マクロ実行コマンド(FOR{ }) ..................... 228
BPコマンド .......................................................................... 130
while ... マクロ実行コマンド(WHILE{ }) .... 229
BPAコマンド ...................................................................... 133
キーボード入力コマンド(KEYIN) .......................... 237
BPSコマンド ...................................................................... 134
繰り返しマクロ実行コマンド(REPEAT{ }) ......... 230
ブレーク削除 ..................................................................................... 45
登録マクロ削除コマンド(KILL) .............................. 235
ブレーク設定 ..................................................................................... 45
登録マクロ表示コマンド(MLIST) .......................... 234
ブレーク・イベント全削除 ............................................................. 46
マクロ抜け出しコマンド(BREAK) .......................... 231
ブレーク要因 ..................................................................................... 64
マクロの条件付実行コマンド(IF{ }) ............................ 236
プログラム実行 ................................................................................. 44
マクロ表示出力コマンド(LALL) .............................. 232
プログラム実行コマンド
Gコマンド .............................................................................. 121
マクロ表示出力抑制コマンド(SALL) ...................... 233
Pコマンド .............................................................................. 119
Tコマンド .............................................................................. 117
プログラム・ブレーク ..................................................................... 45
プログラム・ロード ......................................................................... 40
プログラム・ロード・コマンド ................................................... 112
L/LPコマンド .................................................................. 114
RDコマンド .......................................................................... 115
WRコマンド .......................................................................... 116
プロセス制御 ..................................................................................... 77
プロファイル機能 ..................................................................... 11, 164
プロンプト変更コマンド(PRMPT) ................................... 211
五十音順
286
メ
ロ
メモ .................................................................................................... 82
ログ出力コマンド(>) ............................................................... 213
メモ・ウィンドウ ............................................................................. 64
消去 ............................................................................................ 41
表示 ............................................................................................ 41
メモ・コマンド(MEM) ........................................................... 215
メモリ検索コマンド(S) ........................................................... 175
メモリ参照 ......................................................................................... 47
メモリ転送コマンド(M) ........................................................... 174
メモリ比較コマンド(C) ........................................................... 171
メモリ表示コマンド(D) ........................................................... 167
メモリ・フィル・コマンド(F) ............................................... 172
メモリ変更コマンド(E) ........................................................... 169
メモリ割付け(MAP/EX) ................................................... 158
モ
文字列(ストリング)、
Cソースコード・デバッガで扱える数値 .......................... 100
ラ
RAMモニタ ..................................................................................... 77
リ
リアルタイム・トレース表示コマンド(TD/TDU) ....... 148
リセット(RESET)コマンド ............................................... 123
レ
レジスタ・ウィンドウ ..................................................................... 63
消去 ............................................................................................ 41
表示 ............................................................................................ 41
レジスタ表示/変更コマンド(R) ........................................... 177
レジスタ名、Cソースコード・デバッガで扱える数値 ........... 100
五十音順
お問合せ窓口
マニュアルに記載されている技術的内容についてのお問合せは、下記まで電子メールでお願
いします。FAXでお送りいただく場合は、内線指定Fコード0000を設定してくださいますよ
うお願いします。
松下電器産業株式会社 半導体開発本部 マイコン開発センター
ユーザーサポート担当宛
E-mail:
[email protected]
FAX:
075- 957- 9205
内線指定Fコード: 0000
MN10300シリーズ
Cソースコード・デバッガ
ユーザーズマニュアル
2000.9 第2.3版
発行 © Matsushita Electric Industrial Co., Ltd.
営 業 所 所 在 地 一 覧 表
〒
所 在 地
首 都 圏 半 導 体 営 業 所
105-8586
東京都港区芝大門一丁目 1 番 3 0 号(ナショナル 6 号館)
(03)3438-5300
半 導 体 関 東 営 業 所
331-0852
埼玉県大宮市桜木町一丁目11番9号(日本生命大宮桜木町ビル5階)
(048)643-4530
半導体首都圏西営業所
192-0046
東京都八王子市明神町四丁目 7 番 1 4 号(八王子 O N ビル)
(0426)48-9202
半導体神奈川営業所
220-0004
横浜市西区北幸一丁目 4 番 1 号(天理ビル 1 7 階)
(045)319-5260
半 導 体 長 野 営 業 所
390-0841
長
(0263)27-7309
グローバル半導体営業所
105-8586
東京都港区芝大門一丁目 1 番 3 0 号(ナショナル 6 号館)
(03)3438-5036
近 畿 半 導 体 営 業 所
540-0001
大阪市中央区城見二丁目 1 番 61 号(ツイン 21 ナショナルタワー)
(06)6949-2390
半 導 体 京 滋 営 業 所
604-0845
京都市中京区烏丸通御池上ル二条殿町 5 4 8 番地
(075)256-1741
半 導 体 北 陸 営 業 所
920-0862
石 川 県 金 沢 市 芳 斉 二 丁 目 1
号
(076)223-1132
関西ナショナル電子部品株式会社
532-0026
大 阪 市 淀 川 区 塚 本 三 丁 目
号
(06)6300-0591
海 外 半 導 体 営 業 所
540-0001
大阪市中央区城見二丁目 1 番 61 号(ツイン 21 ナショナルタワー)
(06)6949-3619
980-0803
仙 台 市 青 葉 区 国 分 町 三 丁 目 1 番 1 1 号
(022)263-4201
963-8005
福島県郡山市清水台一丁目 6 番 2 1 号(山相郡 山ビル 4 階 )
(0249)38-6201
221-0835
横浜市神奈川区鶴屋町二丁目 2 0 番 3 号(第 5 安田ビル 4 階)
(045)313-7211
420-0831
静 岡 市 水 落 町 1
(054)247-5151
半導体営業部
461-8530
名古屋市東区泉一丁目 2 3 番 3 0 号(ナショナルビル)
(052)951-6305
中部ナショナル電子部品株式会社
450-0002
名 古 屋 市 中 村 区 名 駅 三 丁 目 1
6
号
(052)561-2571
730-0042
広 島 市 中 区 国 泰 寺 町 二 丁 目 3
番 2
号
(082)248-1951
半導体営業課
812-0016
福岡市博多区博多駅南一丁目2番13号(福岡パナソニックビル6階)
(092)481-1131
東京カーエレクトロニクス営業所
105-8586
東京都港区芝大門一丁目 1 番 3 0 号(ナショナル 6 号館)
(03)3438-5111
中部カーエレクトロニクス営業所
471-0025
愛知県豊田市西町四丁目 2 5 番地(中根ニッセイビル)
(0565)35-1611
野
県
松
本
市
渚
二
丁
目
9
6
電話番号
番
4
5
番 1
2
番
5
6
号
東北インダストリー営業所
半導体営業課
インダストリー福島営業所
半導体営業課
関連インダストリー営業所
半導体営業部
静岡インダストリー営業所
半導体営業課
番 1
号 ( ナ シ ョ ナ ル ビ ル )
中部インダストリー営業所
番 6
中国インダストリー営業所
半導体営業課
3
九州インダストリー営業所
マイコン関係のお問い合わせは、半導体デザインセンターへ
○東京
〒 140-8632 東京都品川区東品川一丁目 3 番 12 号(松下電器東品川ビル 3 階)
○中部
〒 461-8530 名古屋市東区泉一丁目 23 番 30 号 (ナショナルビル)
TEL.(03)5462-7370
TEL.(052)972-9711
○関西
〒 617-8520 京都府長岡京市神足焼町 1 番地
TEL.(075)956-9935
電子カタログを掲載しているホームページ http://www.mec.panasonic.co.jp
310800
 Matsushita Electronics Corporation 2000
Fly UP