Skip to main content
NESdev Wiki
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

6502 cycle times

MnemonicDescriptionImpImmZPZP,XZP,YAbsAbs,XAbs,YIndInd,XInd,YAccRel
ADCAdd with carry23444+4+65+
ANDBitwise AND with A23444+4+65+
BITBit test34
CMPCompare A23444+4+65+
CPXCompare X234
CPYCompare Y234
EORBitwise XOR with A23444+4+65+
LDALoad A23444+4+65+
LDXLoad X23444+
LDYLoad Y23444+
ORABitwise OR with A23444+4+65+
SBCSubtract with carry23444+4+65+
STAStore A3445566
STXStore X344
STYStore Y344
ASLArithmetic shift left56672
DECDecrement memory5667
INCIncrement memory5667
LSRLogical shift right56672
ROLRotate left56672
RORRotate right56672
PHAPush A3
PHPPush processor status3
PLAPull A4
PLPPull processor status4
BRKBreak7
JMPJump35
JSRJump to subroutine6
RTIReturn from interrupt6
RTSReturn from subroutine6
BCCBranch if carry clear2++
BCSBranch if carry set2++
BEQBranch if equal2++
BMIBranch if minus2++
BNEBranch if not equal2++
BPLBranch if plus2++
BVCBranch if overflow clear2++
BVSBranch if overflow set2++
CLCClear carry2
CLDClear decimal2
CLIClear interrupt disable2
CLVClear overflow2
DEXDecrement X2
DEYDecrement Y2
INXIncrement X2
INYIncrement Y2
NOPNo operation2
SECSet carry2
SEDSet decimal2
SEISet interrupt disable2
TAXTransfer A to X2
TAYTransfer A to Y2
TSXTransfer S to X2
TXATransfer X to A2
TXSTransfer X to S2
TYATransfer Y to A2

+: Plus 1 cycle if page crossed
++: Plus 1 cycle if branch taken, and 1 more cycle if page crossed

Edit this page on GitHub