BRK BRK Force Break BRK Operation: Forced Interrupt; N V - B D I Z C PC + 2 to Stack, P to Stack . . . 1 0 1 . . +----------------+-----------------------+---------+---------+----------+ | Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles| +----------------+-----------------------+---------+---------+----------+ | Implied/Stack | BRK | $00 | 1 | 7 | +----------------+-----------------------+---------+---------+----------+ For penalty cycles on the 65816, check the desired addressing mode. 1. A BRK command cannot be masked by setting I. 2. Although even official documents say BRK uses implied addressing-mode, it is rather an immediate one, but the operand is thrown away. This is why PC+2 is pushed onto stack rather than PC+1. So, better use a NOP directly after BRK to avoid trouble. 3. To be very precise: The B-flag is not set by BRK. It is rather set all the time, only when an external IRQ is recognized it will be cleared for some cycles, so you can distinguish between BRK and IRQ. |