[Atelier Blue アトリエブルー]Homeプログラミング IL(CIL,MSIL)命令一覧>bgt

bgt.<length> – branch on greater than

大きいとき分岐

同系統一覧

形式
(Format)
バイトサイズ
(byte size)
命令形式
(Assembly Format)
説明
(Description)
0x3D<int32> 5 bgt tatget 大きいとき「target」に分岐する。
0x30<int8> 2 bgt.s target 大きいとき「target」に分岐する。上の短い形式。

スタックの変化(Stack Transition)

..., value1, value2 -> ...,

説明(Description)

bgt命令は、value1がvalue2より大きい場合にtargetにコントロールを移します。この動作は、cgt命令に続いて「brtrue taget」を行なうことと同一です。targetは符号付きオフセット(bgt命令で4バイト、bgt.s命令で1バイト)として命令の始まりから表されます。

受理可能なオペランド型は表4:バイナリ比較と分岐命令を参照してください。

目標命令に1つ以上のプリフィックスコードがあるなら、コントロールをこれらのプリフィックスの一つ目にだけしか移すことができません。

この命令ではtry、chatch、filter、finallyブロックからコントロールを移すことが出来ません。 (そのような分岐は、厳しく制限されて、代わりにleave命令を使用しなければなりません。詳細は次にあります。 Partition I 【まだ翻訳していないので、英語のページへ飛びます】

この命令は、次の命令を「オフセット0」と考えます。そのことに注意してオフセットを指定してください。

 例外(Exceptions)

無し

コードの検証(Verifiability)

正しいCILは、コントロールのすべて移り変わりが上で指定された規則を満たさなければなりません。また、スタック上のトップ2つのアイテムが表4:バイナリ比較と分岐命令で、比較できることを保証しなければなりません。

さらに、安全なコードは目的地指示にあらゆる可能な経路のためのスタック、ローカル変数、および引数の型一貫性を必要とします。 詳細は次にあります。 CIL 命令セット(CIL Instruction Set)-オペランド型表


ページの一番上へ
一覧に戻る
初版2006-5-28
[Atelier Blue アトリエブルー]Homeプログラミング IL(CIL,MSIL)命令一覧>bgt