BRA 命令 (Branch Always)

常に、指定された場所へアセンブリの実行位置を変更します。

BRAオーバーロード

オペコード構文アドレッシングモードバイト数命令サイクル注
80BRA nearPC Rel.231

注\

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

フラグ変化

--------

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

解説

BRA命令は、現在のプログラムカウンタを基準に、オペランドに指定された符号付き8ビットオフセットの示すアドレスへプログラムの実行位置を常に変えます。
BRA命令およびBRL命令は、制御フローを簡潔にしたり、コードの再配置を容易にするために用意されているものです。
また、BRAないしBRL命令によって無限ループを構成し、その内部で別の条件分岐を用いて大域脱出を行うようなコーディングも多用されます。

使用例

常に分岐する

    LDA $10
    BEQ .zero
    LDA.b #$01
    BRA .store      ; 必ず分岐する
.zero
    LDA.b #$80
.store
    STA $12

JMP命令より1バイト短く、分岐先までの相対距離で指定するため、プログラムを別の場所に移しても書き換えずに動きます。届くのは前後およそ128バイトまでです。

参照

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