SBC          SBC Subtract memory from accumulator with borrow         SBC

  Operation:  A - M - ~C -> A                           N V - B D I Z C
         -                                              / / . . . . / /
    Note:C = Borrow
  +----------------+-----------------------+---------+---------+----------+
  | Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles|
  +----------------+-----------------------+---------+---------+----------+
  |  Immediate     |   SBC #$FF            |   $E9   |    2    |    2     |
  |  ZeroPage      |   SBC $FF             |   $E5   |    2    |    3     |
  |  ZeroPage,X    |   SBC $FF,X           |   $F5   |    2    |    4     |
  |  Absolute      |   SBC $FFFF           |   $ED   |    3    |    4     |
  |  Absolute,X    |   SBC $FFFF,X         |   $FD   |    3    |    4*    |
  |  Absolute,Y    |   SBC $FFFF,Y         |   $F9   |    3    |    4*    |
  |  (Indirect,X)  |   SBC ($FF,X)         |   $E1   |    2    |    6     |
  |  (Indirect),Y  |   SBC ($FF),Y         |   $F1   |    2    |    5*    |
  +----------------+-----------------------+---------+---------+----------+
  * Add 1 when page boundary is crossed.
  For penalty cycles on the 65816, check the desired addressing mode.

  Note: See CPU-Bugs for a description how flags are affected.

 Illegal Version:

  +----------------+-----------------------+---------+---------+----------+
  | Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles|
  +----------------+-----------------------+---------+---------+----------+
  |  Immediate     |   SBC #$FF            |   $EB   |    2    |    2     |
  +----------------+-----------------------+---------+---------+----------+
  There doesn't seem to be a difference to the legal SBC.

 65816 Extensions:

  +----------------+-----------------------+---------+---------+----------+
  | Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles|
  +----------------+-----------------------+---------+---------+----------+
  | AbsoluteLong   |   SBC $FFFFFF         |   $EF   |    4    |     5    |
  | AbsoluteLong,X |   SBC $FFFFFF,X       |   $FF   |    4    |     5    |
  | (Indirect)     |   SBC ($FF)           |   $F2   |    2    |     5    |
  | [Indirect Long]|   SBC [$FF]           |   $E7   |    2    |     6    |
  | [Ind.Long],Y   |   SBC [$FF],Y         |   $F7   |    2    |     6    |
  | Relative,S     |   SBC $FF,S           |   $E3   |    2    |     4    |
  | (Indirect,S),Y |   SBC ($FF,S),Y       |   $F3   |    2    |     7    |
  +----------------+-----------------------+---------+---------+----------+