### 7-2　アセンブラ式

//table1[|l(6w)|l(8w)|l(15w)|l|][|l(6w)|l(8w)|l(15w)|l|]{ 演算子の優先順位 //kb 演算子 タイプ 使用法 説明 //kb （） 基本 （expr） カッコ //kb ［］ 基本 ［expr］ ...のアドレス //kb − 単項演算子 −expr 負のexpr //kb ＋ 単項演算子 ＋expr 正のexpr //kb ~ 単項演算子 ~expr ビット単位否定 //kb ＜＜ 2項演算子 expr＜＜expr 左シフト //kb ＞＞ 2項演算子 expr＞＞expr 右シフト //kb ＆ 2項演算子 expr＆expr 論理積（AND） //kb ！ 単項演算子 ！expr 論理否定（NOT） //kb | 2項演算子 |expr 論理和（OR） //kb ^ 2項演算子 expr^expr 排他的論理和（XOR） //kb ＊ 2項演算子 expr＊expr 乗算 //kb ／ 2項演算子 expr/expr 除算 //kb ％ 2項演算子 expr％expr モジュロ（余り） //kb ＋ 2項演算子 expr＋expr 加算 //kb − 2項演算子 expr-expr 減算 //kb ＝ 2項演算子 expr＝expr 等しい //kb ＜＞ 2項演算子 expr＜＞expr 等しくない //kb ＜ 2項演算子 expr＜expr より小 //kb ＜＝ 2項演算子 expr＜＝expr より小か等しい //kb ＞ 2項演算子 expr＞expr より大 //kb ＞＝ 2項演算子 expr＞＝expr より大か等しい //kb //table1}

前記の演算子は次のオペランドを操作対象とします。 //table1[|l(7w)|l(39w)|][|l(7w)|l(39w)|][|l(7w)|l(7w)|l(8w)|l(22w)|][|l(7w)|l(39w)|][|l(7w)|l(39w)|]{ //kb オペランド 定義 //kb 定数（整数） 定数は、いくつかの演算子に種々の基数で定義できます。 //kb

任意16進10進2進 X_＜number＞ Xは一桁の基数「＄」または「Ox」を前置、「h」を後置「＃」を前置、「d」を後置「％」を前置、「b」を後置 //kb レジスタ 有効なレジスタ名 //kb シンボル シンボルはラベルに評価されます。タイプ（char chr＝’A’）の変数が評価されると、変数「A」のアドレス（のラベル）を返します。ラベルの「b」、「w」、「l」は、それぞれバイト、ワード、ロングを意味します。［symbol］＠b、［symbol］＠w、［symbol］＠lファイル名の：＜number＞は行番号 //kb //table1}

#### 7-2-1　［Expression evaluator］ダイアログボックス

［Expression evaluator］は、レジスタの編集やアドレスへのジャンプなどを含め、いくつかの操作に使用できるダイアログボックスです。 //table1[|l(14w)|l|][|l(14w)|l|]{ ［Expression evaluator］のオプション //kb 項目 目的 //kb ［Expression］コンボ ボックス 既存の式を編集。またはヒストリ リストから選択。 //kb ［Result］ボックス エラーメッセージを含め、式評価の結果を表示。 //kb ［Expression Format］ラジオボタン 式フォーマットとして［C/C＋＋］または［Assembly］を選択。 //kb ［Default radix］ラジオボタン 式に使用する基数を2進、8進10進、16進から選択するか、［Other］テキストボックスにその他の基数を指定。Cの式では、出力の基数を指定するのみ。 //kb ［Evaluate］ボタン ［Expression］コンボテキストボックス中の式を評価。 //kb ［Symbol］ボタン ［Symbol Completion］ダイアログボックスを使用して、プログラムファイル中で使用できるシンボルを検索。 //kb ［File］ボタン プログラムをビルドするのに使用されるファイルの一覧を、［List Files in Program File］ダイアログボックスに表示。このダイアログボックスは「file：line number」情報のアドレスへのアクセスも提供。 //kb ［Lock］チェックボックス 現在の式をファイルまたはシンボルにロック。 //kb //table1}

#### 7-2-2　［Symbol Completion］ダイアログボックス

プログラムファイル中のシンボルを検索するには、［Symbol Completion］ダイアログボックスを使用します。 //table1[|l(14w)|l|][|l(14w)|l|]{ //kb 項目 目的 //kb ［Search String］テキストボックス 検索するシンボルの最初の数文字を入力。 //kb ［Only Search For Symbols Within Scope］チェックボックス スコープ内でシンボルの検索（チェックボックスをオン）、プログラム全体で検索（チェックボックスをオフ）。 //kb ［Possible Completions］テキストボックス 現在の検索文字列にマッチするすべてのシンボルを一覧表示。 //kb ［Lookup］ボタン 検索を再開するには［Lookup］をクリック。 //kb ［OK］ボタン 現在の検索文字列を受け入れる。 //kb ［Cancel］ボタン 現在の検索文字列を無視する。 //kb //table1}

## 第8章　hotai(1)コマンドラインの使用法

CodeScapeの実行方法を指定するには、コマンドラインのオプションを使用します。たとえば、CodeScapeはCodewrightエディタなどのアプリケーションやバッチファイルから起動できます。

### 8-1　hotai(1)コマンドラインからのCodeScapeの起動

コマンドラインからCodeScapeを起動するには、CodeScapeと入力し、その後にオプションのスイッチを入力します。スイッチは必ずスペースで区切りますが、スイッチの引数の中でスペースを使用してはいけません。

コマンドライン構文は次の通りです。

codescape［Switch］...

#### コマンドラインスイッチ

［−|／］？

コマンドラインのヘルプ。

［−|／］nologo

スプラッシュ スクリーン（splash screen）を表示せずにCodeScapeを実行。

［−I／］ c

Crosslib Verboseモード。このスイッチはFileserverライブラリ （LIBCROSS.A）のコマンドを実行するに従い、付加的な情報を［Log］ウインドウに表示します。

［−|／］i＝Session

Project Info.を使用。このスイッチは、SessionFileによって指定されたセッションファイルを使用してCodeScapeを起動します。このセッションファイルにはDev.Boxへの接続方法、各Dev.Boxに使用するオブジェクトファイル、更新レート、ブレークポイント、ウォッチ式、ログ式、ウインドウの位置が含まれます。セッションファイルにメモリ範囲が指定されない場合、CodeScapeはDEFAULT.SSNの中からそれを探します。

［−|／］t＃p＃［b］［n］、［ProgramFile］

このスイッチを使用して、使用するDev.Box（t＃）とプロセッサ（p＃）、ロードするプログラムファイルを指定します。プロセッサはプロセッサID ＃ （0-7）により識別されます。ここで1＝Master、2＝Slaveです。プログラムファイルはProgramFileで指定します。このスイッチを使用してDev.Boxのオブジェクトファイルを指定すると、セッションファイルでの指定が無視されます。

コマンドはオブジェクトファイル（b）からバイナリをロードし、デバッグ情報を抑止（n）します。

nコマンドにはコードやシンボルは不要です。bコマンドなしでnコマンドを使用すると、無視されます。

#### CodeScapeが使用するファイル

//table1[|l(7w)|l|][|l(7w)|l|]{ //kb ファイル名 内容 //kb SessionFile 以前のデバッグセッションを回復するための情報が含まれます。 //kb ProgramFile オブジェクトファイル。アセンブラやコンパイラによって生成されたバイナリ、そしてオプションでソースレベルのデバッグ情報、シンボルテーブル情報が含まれます。 //kb //table1}

ファイルやフォルダのプロパティを変更するには次のようにします。

1.プロパティを変更するファイルやフォルダをクリックします。

2.［ファイル］メニューの［プロパティ］をクリックします。

ファイルのアイコンをドキュメントにドラッグしたり、ショートカットアイコンをドラッグすることもできます。

#### コマンドラインの使用例

例1

CodeScapeを起動してセッションファイルSESSION.SSNに含まれる情報にしたがってデバッグセッションを回復するには、次のように入力します。

codescape -i ＝session

例2

この例はCodeScapeを起動してデバッグセッションを回復します。ファイルTEST.COFからのバイナリ（...b...）はDev.Box7 （−t7...：test）にダウンロードされますが、シンボリック情報はロードされません（...n...）。

codescape / t7p1bn：test

例3

nコマンドにはコードやシンボルは不要です。nコマンドをbコマンドなしで使用すると無視されます。次の例ではCodeScapeは起動されません。

codescape - t1p1n：test

//appendix

[←] | [INDEX] | [→]