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

brfalse.<length> - branch on false, null, or zero

false(偽)の時分岐

同系統一覧

形式
(Format)
バイトサイズ
(byte size)
命令形式
(Assembly Format)
説明
(Description)
0x39<int32> 5 brfalse tatget 値が0(false)のとき「target」に分岐する。
0x2C<int8> 2 brfalse.s target 値が0(false)のとき「target」に分岐する。上の短い形式。
0x39<int32> 5 brnull tatget 値が0(false)のとき「target」に分岐する。(brfalseのエイリアス)
0x2C<int8> 2 brnull.s target 値が0(false)のとき「target」に分岐する。上の短い形式。(brfalse.sのエイリアス)
0x39<int32> 5 brzero tatget 値が0(false)のとき「target」に分岐する。(brfalseのエイリアス)
0x2C<int8> 2 brzero.s target 値が0(false)のとき「target」に分岐する。上の短い形式。(brfalse.sのエイリアス)

スタックの変化(Stack Transition)

..., value -> ...,

説明(Description)

brfalse命令は、値(型 int32、int64、オブジェクト参照、マネージドポインタ、アンマネージドポインタ、native int)が0(false)である場合にtargetにコントロールを移します。値が0でない場合(true)は次の命令を継続実行します。

btargetは符号付きオフセット(brfalse命令で4バイト、brfalse.s命令で1バイト)として命令の始まりから表されます。

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

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

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

 例外(Exceptions)

無し

コードの検証(Verifiability)

正しいCILは、コントロールのすべて移り変わりが上で指定された規則を満たさなければなりません。また、スタック上に1個以上のアイテムを必要とします。

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


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