• 検索結果がありません。

2. 機  能

2.18 入力値について

2.18.1 入力規約

(4) 式と演算子

式とは,定数,レジスタ名,SFR名,シンボル,およびこれらを演算子で結合したものを示します。

式には,アドレス式とウォッチ式があります。シンボルのアドレスを必要とする式をアドレス式,シンボルの値 を必要とする式をウォッチ式と呼びます。

(a) アドレス式と演算子

アドレス式では,シンボルのアドレスを使用して演算します。CPUレジスタ名が記述された場合のみ,値を 使用して演算します。

アドレス式の基本入力形式は次のとおりです。

表 2.26 アドレス式の基本入力形式

注 1. C言語(C89/C99)の変数を表します。

注 2. C言語変数の値がレジスタに割り付いている場合は,エラーになります。

注 3. インデックスとして入力された式は,ウォッチ式として解析します。

注 4. ラベル名またはEQUシンボル名に“$”が含まれている場合,名前を“{}”で囲んでください

(例:{$Label})。

“I”は虚数のキーワードとなるため,CPUレジスタの“I”を指定する場合は,“:REG”を付加して ください(例:I:REG)。

また,「表 2.26 アドレス式の基本入力形式」から,次の演算子を用いたアドレス式を構成することができま す。

表 2.27 演算子を用いたアドレス式の構成

8進数 0で始まり,0~7の数字が続く数値 10進数 0以外で始まり,0~9の数字が続く数値

16進数 0xで始まり,0~9の数字,およびa~fの英字が続く数値

(英字の大文字/小文字については,不問)

ただし, マークが表示されている入力エリアでは,0xの接頭辞は必要ありません。

式 説明

C言語変数名1,2 C言語の変数のアドレス 式[式]3 配列のアドレス

式.メンバ名 構造体/共用体のメンバのアドレス

式->メンバ名 ポインタの指し示す構造体/共用体のメンバのアドレス

CPUレジスタ名 CPUレジスタの値

SFR名 SFRのアドレス

ラベル名4,EQUシンボル名4,[即値] ラベルのアドレス,EQUシンボルの値,即値アドレス

整定数 アドレス

式 説明

(式) 演算順序の指定

-式 符号反転

!式 論理否定

~式 ビット反転

式*式 乗算 式/式 除算

進数表記 概要

注 変数,および関数は,変数/関数/整定数以外と演算子で結合することはできません(例:C 言語変数名+ SFR名)。

(b) ウォッチ式と演算子

ウォッチ式ではシンボルの値を使用して演算します。値が存在しない場合のみ,シンボルのアドレスを使用し て演算します(例:main( ) + 1)。

ウォッチ式の基本入力形式は次のとおりです。

表 2.28 ウォッチ式の基本入力形式

注 1. C言語(C89/C99)の変数を表します。

注 2. ラベル名またはEQUシンボル名に“$”が含まれている場合,名前を“{}”で囲んでください

(例:{$Label})。

虚数の値には,大文字の“I”を掛けてください(例:1.0 + 2.0*I)。なお“I” は虚数のキーワード となるため,CPUレジスタの“I”を指定する場合は,“:REG”を付加してください(例:

I:REG)。

また,「表 2.28 ウォッチ式の基本入力形式」から,次の演算子を用いたウォッチ式を構成することができま す。次表の演算子は,C言語仕様に従って式を解析します。

表 2.29 演算子を用いたウォッチ式の構成 式%式 剰余算 式+式 加算 式-式 減算

式&式 ビットごとの論理積

式^式 ビットごとの排他的論理和 式|式 ビットごとの論理和

式 説明

C言語変数名1 C言語の変数の値

式[式] 配列の要素値

式.メンバ名 構造体/共用体のメンバ値

式->メンバ名 ポインタの指し示す構造体/共用体のメンバ値

*式 ポインタの変数の値

&式 配置アドレス

CPUレジスタ名 CPUレジスタの値

SFR名 SFRの値

ラベル名2,EQUシンボル名2,[即値] ラベルの値,EQUシンボルの値,即値アドレスの値

整定数 整数の定数値

浮動定数 浮動小数点の定数値

文字定数 文字定数値

式 説明

(式) 演算順序の指定

!式 論理否定

式 説明

注 変数,および関数は,変数/関数/整定数以外と演算子で結合することはできません(例:C 言語変数名+ SFR名)。