BVS 命令 (Branch if Overflow Flag is Set)

オーバーフローフラグがセットされている場合に、指定された場所へアセンブリの実行位置を変更します。

BVSオーバーロード

オペコード構文アドレッシングモードバイト数命令サイクル注
70BVS nearPC Rel.221, 2

注

  1. 実際に分岐が発生した場合、1サイクル追加
  2. エミュレーションモードで、分岐先がページ境界をまたぐ場合は1サイクル追加

フラグ変化

--------

この命令はステータスフラグを変更しない。

解説

BVS命令はオーバーフローフラグがセットされている場合に、現在のプログラムカウンタを基準に、オペランドに指定された符号付き8ビットオフセットの示すアドレスへプログラムの実行位置を変えます。
通常は、ADC命令などのオーバーフローする可能性のある処理で発生した例外を捕捉するために使用されます。

使用例

BIT命令でビット6を調べる

BIT命令はメモリのビット6をオーバーフローフラグに読み込むので、ビット6のフラグを直接判定できます。

    BIT $4212       ; HVBJOY: ビット6 = Hブランク中
    BVS .hblank     ; Hブランク中なら分岐する

桁あふれを検出する

    CLC
    LDA $10
    ADC $12
    BVS .overflow   ; 符号付きとして桁あふれした

参照

BCC命令
BCS命令
BEQ命令
BMI命令
BNE命令
BPL命令
BRA命令
BRL命令
BVC命令