CPU > 命令セット > BRK

BRK (Software Break)

[ソフトウェアBreak]

65816 ネイティブモードでは、BRK 命令は割り込み禁止フラグに影響されない。 さらに、BRK 命令にシグネチャバイトを追加で入れることができる。 ハードウェアベクタに、新しく BRK ハンドラが追加されている。 IRQ 中に行う BRK フラグのチェックはもはや必要でない。

65816 ネイティブモードの時の BRK の実行内容 :

  • プログラムバンクレジスタ (PBR) がスタックに詰まれる
  • プログラムカウンタ (PC) が 2 インクリメントされ、スタックに詰まれる
  • ステータスレジスタがスタックに詰まれる
  • 割り込み禁止フラグをセット
  • デシマルモードフラグをクリア
  • プログラムバンクレジスタ (PBR) を 0 にクリア
  • プログラムカウンタ (PC) を Break ベクタ ($FFE6-$FFE7) から取得

6502 エミュレーションモードの時は、本物の 6502 のように動作する (B フラグがセットされ、ステータスレジスタがプッシュされ、 SEI と IRQ が実行される)。

コード一覧

アドレッシングモード 文法 オペコード バイト数 命令サイクル
Stack/Interrupt BRK 00 2* 7 1
* : BRK は 1 バイトの命令だが、スタックに詰まれる
  プログラムカウンタの値は 2 インクリメントされるので、
  オプションでシグネチャバイトを入れることができる。
1 : 65816 ネイティブモード (e=0) の時、1 サイクル追加

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2017年02月20日 17:30