Herwig Siebenhofer
 / Home / 6502
 
6502 Op-Codes

   • ADC
   • AND
   • ASL
   • BCC
   • BCS
   • BEQ
   • BIT
   • BMI
   • BNE
   • BPL
   • BRK
   • BVC
   • BVS
   • CLC
   • CLD
   • CLI
   • CLV
   • CMP
   • CPX
   • CPY
   • DEC
   • DEX
   • DEY
   • EOR
   • INC
   • INX
   • INY
   • JMP
   • JSR
   • LDA
   • LDX
   • LDY
   • LSR
   • NOP
   • ORA
   • PHA
   • PHP
   • PLA
   • PLP
   • ROL
   • ROR
   • RTI
   • RTS
   • SBC
   • SEC
   • SED
   • SEI
   • STA
   • STX
   • STY
   • TAX
   • TAY
   • TSX
   • TXA
   • TXS
   • TYA

Archiv

   • Kurzübersicht
   • Zahlentabelle
   • 6502 Varianten
   • 6502 Register
   • Adressierungen
   • illegale Ops
   • 6502 Bugs
 

BRK             Break – Unterbrechung, Userinterrupt

Der BRK-Befehl führt einen nicht-maskierbaren Interrupt aus – indirekter Sprung über ($FFFE). Vor dem Sprung wird das Maschinenstatuswort (beinhaltet die Flags) und der Programmcounter auf den Stapel gelegt. Der Rücksprung geschieht über den RTI-Befehl (Return from Interrupt) an die übernächste Speicheradresse nach dem BRK-Befehl – das eine Byte dazwischen ist bedeutungslos, sollte aber vorsichtshalber mit einem NOP-Befehl gefüllt werden, sofern es nicht für anderwertige Informationen (bspw. Auswertung für Subroutinen) dient. Da der BRK-Befehl nicht maskierbar ist, ist ein gesetztes Interrupt-Flag (SEI) ohne Auswirkung.

ModusSyntaxHexLängeZyklen
implizitBRK0017
 
beeinflußte Flags
B Break-Flag

 

Da die indirekte Sprungaddresse über die selbe Speicherstelle wie für den IRQ abläuft, hängt es von der Konstruktion des Computers ab, wie und ob der BRK-Befehl von Anwendungsprogrammen benutzt werden kann.