SBC

Subtract Memory From Accumulator With Borrow

Operation:  A - M - ~C -> A

Addressing ModeAssembly Language FormOP CODENo. BytesNo. Cycles
ImmediateSBC #$FF$E922
ZeroPageSBC $FF$E523
ZeroPage,XSBC $FF,X$F524
AbsoluteSBC $FFFF$ED34
Absolute,XSBC $FFFF,X$FD34*
Absolute,YSBC $FFFF,Y$F934*
(Indirect,X)SBC ($FF,X)$E126
(Indirect),YSBC ($FF),Y$F125*

Note:C = Borrow

* 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 ModeAssembly Language FormOP CODENo. BytesNo. Cycles
ImmediateSBC #$FF$EB22

There doesn't seem to be a difference to the legal SBC.

65816 Extensions:

Addressing ModeAssembly Language FormOP CODENo. BytesNo. Cycles
AbsoluteLongSBC $FFFFFF$EF45
AbsoluteLong,XSBC $FFFFFF,X$FF45
(Indirect)SBC ($FF)$F225
[Indirect Long]SBC [$FF]$E726
[Ind.Long],YSBC [$FF],Y$F726
Relative,SSBC $FF,S$E324
(Indirect,S),YSBC ($FF,S),Y$F327