NMOS 6502 Opcodes
opcode | mode | octal | decimal | hex | bytes | cycles |
---|---|---|---|---|---|---|
brk | implied | 0000 | 0 | 0x00 | 1 | 7 |
ora | (ind,x) | 0001 | 1 | 0x01 | 2 | 6 |
ora | zp | 0005 | 5 | 0x05 | 2 | 3 |
asl | zp | 0006 | 6 | 0x06 | 2 | 5 |
php | implied | 0010 | 8 | 0x08 | 1 | 3 |
ora | imm | 0011 | 9 | 0x09 | 2 | 2 |
asl | accum | 0012 | 10 | 0x0a | 1 | 2 |
ora | abs | 0015 | 13 | 0x0d | 3 | 4 |
asl | abs | 0016 | 14 | 0x0e | 3 | 6 |
bpl | relative | 0020 | 16 | 0x10 | 2 | 2∗ |
ora | (ind),y | 0021 | 17 | 0x11 | 2 | 5• |
ora | zp,x | 0025 | 21 | 0x15 | 2 | 4 |
asl | zp,x | 0026 | 22 | 0x16 | 2 | 6 |
clc | implied | 0030 | 24 | 0x18 | 1 | 2 |
ora | abs,y | 0031 | 25 | 0x19 | 3 | 4• |
ora | abs,x | 0035 | 29 | 0x1d | 3 | 4• |
asl | abs,x | 0036 | 30 | 0x1e | 3 | 7 |
jsr | abs | 0040 | 32 | 0x20 | 3 | 6 |
and | (ind,x) | 0041 | 33 | 0x21 | 2 | 6 |
bit | zp | 0044 | 36 | 0x24 | 2 | 3 |
and | zp | 0045 | 37 | 0x25 | 2 | 3 |
rol | zp | 0046 | 38 | 0x26 | 2 | 5 |
plp | implied | 0050 | 40 | 0x28 | 1 | 4 |
and | imm | 0051 | 41 | 0x29 | 2 | 2 |
rol | accum | 0052 | 42 | 0x2a | 1 | 2 |
bit | abs | 0054 | 44 | 0x2c | 3 | 4 |
and | abs | 0055 | 45 | 0x2d | 3 | 4 |
rol | abs | 0056 | 46 | 0x2e | 3 | 6 |
bmi | relative | 0060 | 48 | 0x30 | 2 | 2∗ |
and | (ind),y | 0061 | 49 | 0x31 | 2 | 5• |
and | zp,x | 0065 | 53 | 0x35 | 2 | 4 |
rol | zp,x | 0066 | 54 | 0x36 | 2 | 6 |
sec | implied | 0070 | 56 | 0x38 | 1 | 2 |
and | abs,y | 0071 | 57 | 0x39 | 3 | 4• |
and | abs,x | 0075 | 61 | 0x3d | 3 | 4• |
rol | abs,x | 0076 | 62 | 0x3e | 3 | 7 |
rti | implied | 0100 | 64 | 0x40 | 1 | 6 |
eor | (ind,x) | 0101 | 65 | 0x41 | 2 | 6 |
eor | zp | 0105 | 69 | 0x45 | 2 | 3 |
lsr | zp | 0106 | 70 | 0x46 | 2 | 5 |
pha | implied | 0110 | 72 | 0x48 | 1 | 3 |
eor | imm | 0111 | 73 | 0x49 | 2 | 2 |
lsr | accum | 0112 | 74 | 0x4a | 1 | 2 |
jmp | abs | 0114 | 76 | 0x4c | 3 | 3 |
eor | abs | 0115 | 77 | 0x4d | 3 | 4 |
lsr | abs | 0116 | 78 | 0x4e | 3 | 6 |
bvc | relative | 0120 | 80 | 0x50 | 2 | 2∗ |
eor | (ind),y | 0121 | 81 | 0x51 | 2 | 5• |
eor | zp,x | 0125 | 85 | 0x55 | 2 | 4 |
lsr | zp,x | 0126 | 86 | 0x56 | 2 | 6 |
cli | implied | 0130 | 88 | 0x58 | 1 | 2 |
eor | abs,y | 0131 | 89 | 0x59 | 3 | 4• |
eor | abs,x | 0135 | 93 | 0x5d | 3 | 4• |
lsr | abs,x | 0136 | 94 | 0x5e | 3 | 7 |
rts | implied | 0140 | 96 | 0x60 | 1 | 6 |
adc | (ind,x) | 0141 | 97 | 0x61 | 2 | 6† |
adc | zp | 0145 | 101 | 0x65 | 2 | 3† |
ror | zp | 0146 | 102 | 0x66 | 2 | 5 |
pla | implied | 0150 | 104 | 0x68 | 1 | 4 |
adc | imm | 0151 | 105 | 0x69 | 2 | 2† |
ror | accum | 0152 | 106 | 0x6a | 1 | 2 |
jmp | (abs) | 0154 | 108 | 0x6c | 3 | 5 |
adc | abs | 0155 | 109 | 0x6d | 3 | 4† |
ror | abs | 0156 | 110 | 0x6e | 3 | 6 |
bvs | relative | 0160 | 112 | 0x70 | 2 | 2∗ |
adc | (ind),y | 0161 | 113 | 0x71 | 2 | 5•† |
adc | zp,x | 0165 | 117 | 0x75 | 2 | 4† |
ror | zp,x | 0166 | 118 | 0x76 | 2 | 6 |
sei | implied | 0170 | 120 | 0x78 | 1 | 2 |
adc | abs,y | 0171 | 121 | 0x79 | 3 | 4•† |
adc | abs,x | 0175 | 125 | 0x7d | 3 | 4•† |
ror | abs,x | 0176 | 126 | 0x7e | 3 | 7 |
sta | (ind,x) | 0201 | 129 | 0x81 | 2 | 6 |
sty | zp | 0204 | 132 | 0x84 | 2 | 3 |
sta | zp | 0205 | 133 | 0x85 | 2 | 3 |
stx | zp | 0206 | 134 | 0x86 | 2 | 3 |
dey | implied | 0210 | 136 | 0x88 | 1 | 2 |
txa | implied | 0212 | 138 | 0x8a | 1 | 2 |
sty | abs | 0214 | 140 | 0x8c | 3 | 4 |
sta | abs | 0215 | 141 | 0x8d | 3 | 4 |
stx | abs | 0216 | 142 | 0x8e | 3 | 4 |
bcc | relative | 0220 | 144 | 0x90 | 2 | 2∗ |
sta | (ind),y | 0221 | 145 | 0x91 | 2 | 6 |
sty | zp,x | 0224 | 148 | 0x94 | 2 | 4 |
sta | zp,x | 0225 | 149 | 0x95 | 2 | 4 |
stx | zp,y | 0226 | 150 | 0x96 | 2 | 4 |
tya | implied | 0230 | 152 | 0x98 | 1 | 2 |
sta | abs,y | 0231 | 153 | 0x99 | 3 | 5 |
txs | implied | 0232 | 154 | 0x9a | 1 | 2 |
sta | abs,x | 0235 | 157 | 0x9d | 3 | 5 |
ldy | imm | 0240 | 160 | 0xa0 | 2 | 2 |
lda | (ind,x) | 0241 | 161 | 0xa1 | 2 | 6 |
ldx | imm | 0242 | 162 | 0xa2 | 2 | 2 |
ldy | zp | 0244 | 164 | 0xa4 | 2 | 3 |
lda | zp | 0245 | 165 | 0xa5 | 2 | 3 |
ldx | zp | 0246 | 166 | 0xa6 | 2 | 3 |
tay | implied | 0250 | 168 | 0xa8 | 1 | 2 |
lda | imm | 0251 | 169 | 0xa9 | 2 | 2 |
tax | implied | 0252 | 170 | 0xaa | 1 | 2 |
ldy | abs | 0254 | 172 | 0xac | 3 | 4 |
lda | abs | 0255 | 173 | 0xad | 3 | 4 |
ldx | abs | 0256 | 174 | 0xae | 3 | 4 |
bcs | relative | 0260 | 176 | 0xb0 | 2 | 2∗ |
lda | (ind),y | 0261 | 177 | 0xb1 | 2 | 5• |
ldy | zp,x | 0264 | 180 | 0xb4 | 2 | 4 |
lda | zp,x | 0265 | 181 | 0xb5 | 2 | 4 |
ldx | zp,y | 0266 | 182 | 0xb6 | 2 | 4 |
clv | implied | 0270 | 184 | 0xb8 | 1 | 2 |
lda | abs,y | 0271 | 185 | 0xb9 | 3 | 4• |
tsx | implied | 0272 | 186 | 0xba | 1 | 2 |
ldy | abs,x | 0274 | 188 | 0xbc | 3 | 4• |
lda | abs,x | 0275 | 189 | 0xbd | 3 | 4• |
ldx | abs,y | 0276 | 190 | 0xbe | 3 | 4• |
cpy | imm | 0300 | 192 | 0xc0 | 2 | 2 |
cmp | (ind,x) | 0301 | 193 | 0xc1 | 2 | 6 |
cpy | zp | 0304 | 196 | 0xc4 | 2 | 3 |
cmp | zp | 0305 | 197 | 0xc5 | 2 | 3 |
dec | zp | 0306 | 198 | 0xc6 | 2 | 5 |
iny | implied | 0310 | 200 | 0xc8 | 1 | 2 |
cmp | imm | 0311 | 201 | 0xc9 | 2 | 2 |
dex | implied | 0312 | 202 | 0xca | 1 | 2 |
cpy | abs | 0314 | 204 | 0xcc | 3 | 4 |
cmp | abs | 0315 | 205 | 0xcd | 3 | 4 |
dec | abs | 0316 | 206 | 0xce | 3 | 6 |
bne | relative | 0320 | 208 | 0xd0 | 2 | 2∗ |
cmp | (ind),y | 0321 | 209 | 0xd1 | 2 | 5• |
cmp | zp,x | 0325 | 213 | 0xd5 | 2 | 4 |
dec | zp,x | 0326 | 214 | 0xd6 | 2 | 6 |
cld | implied | 0330 | 216 | 0xd8 | 1 | 2 |
cmp | abs,y | 0331 | 217 | 0xd9 | 3 | 4• |
cmp | abs,x | 0335 | 221 | 0xdd | 3 | 4• |
dec | abs,x | 0336 | 222 | 0xde | 3 | 7 |
cpx | imm | 0340 | 224 | 0xe0 | 2 | 2 |
sbc | (ind,x) | 0341 | 225 | 0xe1 | 2 | 6† |
cpx | zp | 0344 | 228 | 0xe4 | 2 | 3 |
sbc | zp | 0345 | 229 | 0xe5 | 2 | 3† |
inc | zp | 0346 | 230 | 0xe6 | 2 | 5 |
inx | implied | 0350 | 232 | 0xe8 | 1 | 2 |
sbc | imm | 0351 | 233 | 0xe9 | 2 | 2† |
nop | implied | 0352 | 234 | 0xea | 1 | 2 |
cpx | abs | 0354 | 236 | 0xec | 3 | 4 |
sbc | abs | 0355 | 237 | 0xed | 3 | 4† |
inc | abs | 0356 | 238 | 0xee | 3 | 6 |
beq | relative | 0360 | 240 | 0xf0 | 2 | 2∗ |
sbc | (ind),y | 0361 | 241 | 0xf1 | 2 | 5•† |
sbc | zp,x | 0365 | 245 | 0xf5 | 2 | 4† |
inc | zp,x | 0366 | 246 | 0xf6 | 2 | 6 |
sed | implied | 0370 | 248 | 0xf8 | 1 | 2 |
sbc | abs,y | 0371 | 249 | 0xf9 | 3 | 4•† |
sbc | abs,x | 0375 | 253 | 0xfd | 3 | 4•† |
inc | abs,x | 0376 | 254 | 0xfe | 3 | 7 |
• - Add 1 to N if page boundary is crossed
∗ - Add 1 to N if branch occurs to same page, add 2 to N if branch occurs to different page
† - Add 1 to N if in decimal mode