We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

SBC: Difference between revisions

From SnesLab
Jump to: navigation, search
(added syntax)
(note about carry flag)
Line 106: Line 106:


'''SBC''' (Subtract with Carry/Borrow) is 65x instruction that performs a subtraction.
'''SBC''' (Subtract with Carry/Borrow) is 65x instruction that performs a subtraction.
If the [[carry flag]] (aka borrow flag) is clear, one more is subtracted.


The difference is stored in the accumulator.
The difference is stored in the accumulator.

Revision as of 00:10, 14 July 2024

Basic Info
Addressing Mode Opcode Length Speed
Immediate E9 2/3 bytes 2 cycles*
Absolute ED 3 bytes 4 cycles*
Absolute Long EF 4 bytes 5 cycles*
Direct Page E5 2 bytes 3 cycles*
Direct Page Indirect F2 2 bytes 5 cycles*
Direct Page Indirect Long E7 2 bytes 6 cycles*
Absolute Indexed by X FD 3 bytes 4 cycles*
Absolute Long Indexed by X FF 4 bytes 5 cycles*
Absolute Indexed by Y F9 3 bytes 4 cycles*
Direct Page Indexed by X F5 2 bytes 4 cycles*
Direct Page Indexed Indirect by X E1 2 bytes 6 cycles*
Direct Page Indirect Indexed by Y F1 2 bytes 5 cycles*
Direct Page Indirect Long Indexed by Y F7 2 bytes 6 cycles*
Stack Relative E3 2 bytes 4 cycles*
Stack Relative Indirect Indexed by Y F3 2 bytes 7 cycles*
Flags Affected
N V M X D I Z C
. . . .

SBC (Subtract with Carry/Borrow) is 65x instruction that performs a subtraction.

If the carry flag (aka borrow flag) is clear, one more is subtracted.

The difference is stored in the accumulator.

Syntax

SBC #const
SBC addr
SBC long
SBC dp
SBC (dp)
SBC [dp]
SBC addr, X
SBC long, X
SBC addr, Y
SBC dp, X
SBC (dp, X)
SBC (dp), Y
SBC [dp], Y
SBC sr, S
SBC (sr, S), Y

See Also

External Links