演算式の値を取得または設定します。
構文
print [options] [expression]
<expression>
で指定した演算式の値を取得または設定します。<expression>
には、定数、ローカル/グローバル変数、CPU レジスタ、または演算子が含まれますが、#define で定義したプリプロセッサ マクロはサポートされません。CPU レジスタは {$r1} フォーマットで指定できます。この場合、r1 はレジスタ名です。構造型のような複雑なデータ型のエレメントは、'.' 演算子でアクセスできます。たとえば、var1.int_type は var1 struct の int_type エレメントのことです。配列エレメントには、それらのインデックスを使用してアクセスできます。たとえば、array1[0] は array1 のインデックス 0 のことです。
オプション
オプション | 説明 |
---|---|
-add <expression>
|
<expression> を自動演算式リストに追加します。自動演算式リストの演算式の値または定義は、演算式名を指定しない場合に表示されます。よく使用される演算式は、自動演算式リストに追加しておくことをお勧めします。 |
-defs [expression]
|
アドレス、タイプ、サイズ、RW フラグなどの演算式の定義が返されます。すべての定義がすべての演算式に使用できるわけではありません。たとえば、アドレスは変数にのみ使用できま、演算式に演算子が含まれる場合は使用できません。 |
-dict [expression]
|
結果は Tcl の dict 形式 (変数名が dict キーで変数値が dict 値) で返されます。構造型などの複雑なデータの場合、名前の形式は parent.child です。 |
-remove [expression]
|
自動演算式リストから演算式を削除します。前に -add オプションでリストに追加した演算式のみが削除できます。演算式名を指定しない場合、自動演算式リストのすべての演算式が削除されます。 |
-set <expression>
|
変数の値を設定します。定数または演算子を含む演算式の値は設定できません。 |
戻り値
戻り値は、使用されるオプションによって異なります。
-add or
: 演算式の値<none>
-defs
: 演算式の定義
-remove or -set
: なし。
演算式の値が読み出せなかったり設定できない場合はエラー文字列が返されます。
例
print Int_Glob
変数 Int_Glob の値を返します。
print -a Microseconds
変数 Microseconds を自動演算式に追加して、その値を返します。
print -a Int_Glob*2 + 1
演算式 (Int_Glob*2 + 1) を自動演算式リストに追加して、その値を返します。
print tmp_var.var1.int_type
var1 struct の int_type エレメントの値を返します。この場合、var1 は tmp_var struct のメンバーです。
print tmp_var.var1.array1[0]
array1 配列のインデックス 0 のエレメントの値を返します。array1 は var1 struct のメンバーで、var1 struct は tmp_var struct のメンバーです。
print
自動演算式リスト内のすべての演算式の値を返します。
print -defs
自動演算式リスト内のすべての演算式の定義を返します。
print -set Int_Glob 23
変数 Int_Glob to 23 の値を設定します。
print -remove Microseconds
自動演算式リストから Microseconds 演算式を削除します。
print {$r1}
CPU レジスタ r1 の値を返します。