6502 cycle times
From NESdev Wiki
Jump to navigationJump to search
I put this spreadsheet together because I didn't like the way the timing information was organized in other places. Some mnemonic/addressing mode combinations do not have an opcode and are marked with "x" because they are not legal instructions. I may add the illegal opcodes later. Cells marked with "+" mean add one cycle if a page boundary is crossed.
Mnemonic | Description | IMP | IMM | ZP | ZP,X | ZP,Y | ABS | ABS,X | ABS,Y | IND | IND,X | IND,Y | ACC |
ADC | ADd with Carry | x | 2 | 3 | 4 | x | 4 | 4+ | 4+ | x | 6 | 5+ | x |
AND | bitwise AND with accumulator | x | 2 | 3 | 4 | x | 4 | 4+ | 4+ | x | 6 | 5+ | x |
ASL | Arithmetic Shift Left | x | x | 5 | 6 | x | 6 | 7 | x | x | x | x | x |
BIT | test BITs | x | x | 3 | x | x | 4 | x | x | x | x | x | x |
BRK | BreaK | 7 | x | x | x | x | x | x | x | x | x | x | x |
CMP | CoMPare accumulator | x | 2 | 3 | 4 | x | 4 | 4+ | 4+ | x | 6 | 5+ | x |