前へ | 次へ | 目次 | 索引 |
MACRO-64 言語には,高級言語と同じ意味での式というものはありません。受け入れられるのはアセンブリ時の式と,限られたセットの演算子だけです。デバッグ時に MACRO-64 のプログラミングで,他の言語の場合と同じくらい自由に式を使用できるようにするため,デバッガは,MACRO-64 自体には含まれていない多数の演算子を MACRO-64 の言語式の中で受け入れるようになっています。特に,BLISS以後にモデル化された比較演算子とブール演算子のセットは完全に受け入れます。間接参照演算子と通常の算術演算子も受け入れられます。
種類 | シンボル | 機能 |
---|---|---|
接頭辞 | @ | 間接参照 |
接頭辞 | . | 間接参照 |
接頭辞 | + | 単項正符号 |
接頭辞 | - | 単項負符号(否定) |
挿入辞 | + | 加算 |
挿入辞 | - | 減算 |
挿入辞 | * | 乗算 |
挿入辞 | / | 除算 |
挿入辞 | MOD | 剰余 |
挿入辞 | @ | 左シフト |
挿入辞 | EQL | 等値 |
挿入辞 | EQLU | 等値 |
挿入辞 | NEQ | 不等 |
挿入辞 | NEQU | 不等 |
挿入辞 | GTR | 大なり |
挿入辞 | GTRU | 大なり符号なし |
挿入辞 | GEQ | 以上 |
挿入辞 | GEQU | 以上符号なし |
挿入辞 | LSS | 小なり |
挿入辞 | LSSU | 小なり符号なし |
挿入辞 | LEQ | 以下 |
挿入辞 | LEQU | 以下符号なし |
接頭辞 | NOT | ビット単位の NOT |
挿入辞 | AND | ビット単位の AND |
挿入辞 | OR | ビット単位の OR |
挿入辞 | XOR | ビット単位の排他的論理和 |
挿入辞 | EQV | ビット単位の同値 |
サポートされている,MACRO-64 の言語式とアドレス式の構造を次に示します。
シンボル | 構造 |
---|---|
<p,s,e> | BLISS 同様のビットフィールド |
MACRO-64 は,データ型をラベル名にバインドします。バインドは,ラベル定義に続くアセンブラ指示文に従って行われます。たとえば,次のコード内の .LONG データ指示文は,ロングワード整数データ型をラベル V1,V2,および V3 にバインドするよう MACRO-64 に対して指示します。
.PSECT A, NOEXE .BYTE 5 V1: V2: V3: .LONG 7 |
V1,V2,および V3 にバインドされている型を確認するには,SHOW SYMBOL/TYPE コマンドを V* パラメータ付きで実行します。実行結果の表示は次のとおりです。
data .MAIN.\V1 atomic type, longword integer, size: 4 bytes data .MAIN.\V2 atomic type, longword integer, size: 4 bytes data .MAIN.\V3 atomic type, longword integer, size: 4 bytes) |
サポートされている MACRO-64 の指示文を次に示します。
MACRO-64 のデータ型 | VMS のデータ型名 |
---|---|
.BYTE | バイト符号なし(BU) |
.WORD | ワード符号なし(WU) |
.LONG | ロングワード符号なし(LU) |
.SIGNED_BYTE | バイト整数(B) |
.SIGNED_WORD | ワード整数(W) |
.LONG | ロングワード整数(L) |
.QUAD | クォドワード整数(Q) |
.F_FLOATING | F 浮動小数点数(F) |
.D_FLOATING | D 浮動小数点数(D) |
.G_FLOATING | G 浮動小数点数(G) |
.S_FLOATING(Alpha 固有) | S 浮動小数点数(S) |
.T_FLOATING(Alpha 固有) | T 浮動小数点数(T) |
(該当なし) | パック 10 進数(P) |
以下の各サブトピックでは,デバッガによる Pascal のサポートについて説明します。
C.13.1 言語式の演算子
言語式でサポートされている Pascal の演算子を次に示します。
種類 | シンボル | 機能 |
---|---|---|
接頭辞 | + | 単項正符号 |
接頭辞 | - | 単項負符号(否定) |
挿入辞 | + | 加算,連結 |
挿入辞 | - | 減算 |
挿入辞 | * | 乗算 |
挿入辞 | / | 実数の除算 |
挿入辞 | DIV | 整数の除算 |
挿入辞 | MOD | モジュロ |
挿入辞 | REM | 剰余 |
挿入辞 | ** | べき乗(VAX 固有) |
挿入辞 | IN | 集合メンバーシップ |
挿入辞 | = | 等値 |
挿入辞 | <> | 不等 |
挿入辞 | > | 大なり |
挿入辞 | >= | 以上 |
挿入辞 | < | 小なり |
挿入辞 | <= | 以下 |
接頭辞 | NOT | 論理否定 |
挿入辞 | AND | 論理積 |
挿入辞 | OR | 論理和 |
型キャスト演算子(::)は,言語式ではサポートされていません。
C.13.2 言語式とアドレス式の構造
サポートされている,Pascal の言語式とアドレス式の構造を次に示します。
シンボル | 構造 |
---|---|
[ ] | 添字指定 |
.(ピリオド) | レコードの構成要素の選択 |
^(サーカンフレックス) | ポインタの間接参照 |
サポートされている,Pascal の定義済みのシンボルを次に示します。
シンボル | 意味 |
---|---|
TRUE | 論理値TRUE |
FALSE | 論理値FALSE |
NIL | NILポインタ |
サポートされている,Pascal の組み込み関数を次に示します。
シンボル | 意味 |
---|---|
SUCC | 論理的後続データ |
PRED | 論理的先行データ |
サポートされている Pascal のデータ型を次に示します。
Pascal のデータ型 | VMS のデータ型名 |
---|---|
INTEGER | ロングワード整数(L) |
INTEGER | ワード整数(W,WU) |
INTEGER | バイト整数(B,BU) |
UNSIGNED | ロングワード符号なし(LU) |
UNSIGNED | ワード符号なし(WU) |
UNSIGNED | バイト符号なし(BU) |
SINGLE,REAL | F浮動小数点数(F) |
REAL(Alpha 固有) | IEEE S 浮動小数点数(FS) |
DOUBLE | D浮動小数点数(D) |
DOUBLE | G浮動小数点数(G) |
DOUBLE(Alpha 固有) | IEEE T 浮動小数点数(FT) |
QUADRUPLE(VAX 固有) | H 浮動小数点数(H) |
BOOLEAN | (なし) |
CHAR | ASCII テキスト(T) |
VARYING OF CHAR | 変形テキスト(VT) |
SET | (なし) |
FILE | (なし) |
列挙 | (なし) |
部分範囲 | (なし) |
型付きポインタ | (なし) |
配列 | (なし) |
レコード | (なし) |
可変レコード | (なし) |
Pascal の言語式の中では,デバッガは,[1,2,5,8..10] や [RED,BLUE] といった Pascal の集合定数を受け入れます。
REAL 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,F 浮動小数点数または IEEE S 浮動小数点数のどちらかで表現されます。
DOUBLE 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,D 浮動小数点数,G 浮動小数点数,または IEEE T 浮動小数点数のどれかで表現されます。
C.13.6 補足情報
通常は,変数,レコード・フィールド,配列の構成要素のそれぞれに対して,検査,評価,格納を行うことができますが,次の場合は例外です。プログラムの中で変数が参照されていない場合,Pascal コンパイラは変数を割り当てません。変数を割り当てていないときにその変数を検査しようとしたり,その変数へ格納しようとするとエラー・メッセージが表示されます。
変数にデータを格納する場合,格納される値が変数よりも大きいときは,デバッガは上位ビットを切り捨てます。格納される値が変数よりも小さいときは,上位ビットをゼロで埋めます。代入互換性の規則に違反した格納をすると情報メッセージが表示されます。
実行中のブロック内であればどのブロックでも自動変数を調べたり,自動変数へ格納することができます。しかし,自動変数はスタック領域に割り当てられ,レジスタに格納されるので,変数が初期化されるまで,または変数に値が代入されるまで,自動変数の値は未定義であるとみなされます。
C.13.7 制限事項
Pascal についてのデバッガの制限事項は次のとおりです。
VARYING OF CHAR の文字列の値を調べることはできますが,Pascal の通常の構文を使用して .LENGTH フィールドや .BODY フィールドの値を調べることはできません。たとえば,VARS が文字列変数名の場合,次のコマンドはサポートされません。
DBG> EXAMINE VARS.LENGTH DBG> EXAMINE VARS.BODY |
これらのフィールドを確認するには,次の方法を使用します。
使用する | 使用しない |
---|---|
EXAMINE/WORD VARS | EXAMINE VARS.LENGTH |
EXAMINE/ASCII VARS+2 | EXAMINE VARS.BODY |
次の各サブトピックでは,デバッガによる PL/I のサポートについて説明します。
C.14.1 言語式の演算子
言語式でサポートされている PL/I の演算子を次に示します。
種類 | シンボル | 機能 |
---|---|---|
接頭辞 | + | 単項正符号 |
接頭辞 | - | 単項負符号(否定) |
挿入辞 | + | 加算 |
挿入辞 | - | 減算 |
挿入辞 | * | 乗算 |
挿入辞 | / | 除算 |
挿入辞 | ** | べき乗 |
挿入辞 | || | 連結 |
挿入辞 | = | 等値 |
挿入辞 | ^= | 不等 |
挿入辞 | > | 大なり |
挿入辞 | >= | 以上 |
挿入辞 | ^< | 以上 |
挿入辞 | < | 小なり |
挿入辞 | <= | 以下 |
挿入辞 | ^> | 以下 |
接頭辞 | ^ | ビット単位のNOT |
挿入辞 | & | ビット単位のAND |
挿入辞 | | | ビット単位のOR |
サポートされている,PL/I の言語式とアドレス式の構造を次に示します。
シンボル | 構造 |
---|---|
() | 添字指定 |
.(ピリオド) | 構造体の構成要素の選択 |
-> | ポインタの間接参照 |
サポートされている PL/I のデータ型を次に示します。
PL/I のデータ型 | VMS のデータ型名 |
---|---|
FIXED BINARY | バイト整数(B),ワード整数(W),またはロングワード整数(L) |
FIXED DECIMAL | パック 10 進数(P) |
FLOAT BIN/DEC | F 浮動小数点数(F) |
FLOAT BIN/DEC | D 浮動小数点数(D) |
FLOAT BIN/DEC | G 浮動小数点数(G) |
FLOAT BIN/DEC(VAX 固有) | H 浮動小数点数(H) |
BIT | ビット(V) |
BIT | ビット境界合わせなし(VU) |
CHARACTER | ASCII テキスト(T) |
CHARACTER VARYING | 変形テキスト(VT) |
FILE | (なし) |
ラベル | (なし) |
ポインタ | (なし) |
配列 | (なし) |
構造体 | (なし) |
前へ | 次へ | 目次 | 索引 |