***BRK (Software Break) [#oc68093b] [ソフトウェアBreak] 65816 ネイティブモードでは、BRK 命令は割り込み禁止フラグに影響されない。 さらに、BRK 命令にシグネチャバイトを追加で入れることができる。 ハードウェアベクタに、新しく BRK ハンドラが追加されている。 IRQ 中に行う BRK フラグのチェックはもはや必要でない。 65816 ネイティブモードの時の BRK の実行内容 : -プログラムバンクレジスタ (PBR) がスタックに詰まれる -プログラムカウンタ (PC) が 2 インクリメントされ、スタックに詰まれる -ステータスレジスタがスタックに詰まれる -割り込み禁止フラグをセット -デシマルモードフラグをクリア -プログラムバンクレジスタ (PBR) を 0 にクリア -プログラムカウンタ (PC) を Break ベクタ ($FFE6-$FFE7) から取得 6502 エミュレーションモードの時は、本物の 6502 のように動作する (B フラグがセットされ、ステータスレジスタがプッシュされ、 SEI と IRQ が実行される)。 ''コード一覧'' |アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h |Stack/Interrupt|BRK|00|2*|7 | 1| * : BRK は 1 バイトの命令だが、スタックに詰まれる プログラムカウンタの値は 2 インクリメントされるので、 オプションでシグネチャバイトを入れることができる。 1 : 65816 ネイティブモード (e=0) の時、1 サイクル追加