Atari "Sally" (6502) Instruction Set


Op-Code Table (arranged in op-code order):

\ LSD
MSD \
0 1 2 3 4 5 6 7 8 9 A B C D E F LSD /
/ MSD
0 BRK ORA
(IND,X)
JAM * SRA *
(IND,X)
NOP *
Z-Page
ORA
Z-Page
ASL
Z-Page
SRA *
Z-Page
PHP ORA
IMM
ASL
A
ANC *
IMM
NOP *
ABS
ORA
ABS
ASL
ABS
SRA *
ABS
0
1 BPL ORA
(IND),Y
JAM * SRA *
(IND),Y
NOP *
Z-Page,X
ORA
Z-Page,X
ASL
Z-Page,X
SRA *
Z-Page,X
CLC ORA
ABS,Y
NOP * SRA *
ABS,Y
NOP *
ABS,X
ORA
ABS,X
ASL
ABS,X
SRA *
ABS,X
1
2 JSR
ABS
AND
(IND,X)
JAM * RLA *
(IND,X)
BIT
Z-Page
AND
Z-Page
ROL
Z-Page
RLA *
Z-Page
PLP AND
IMM
ROL
A
ANC *
IMM
BIT
ABS
AND
ABS
ROL
ABS
RLA *
ABS
2
3 BMI AND
(IND),Y
JAM * RLA *
(IND),Y
NOP *
Z-Page,X
AND
Z-Page,X
ROL
Z-Page,X
RLA *
Z-Page,X
SEC AND
ABS,Y
NOP * RLA *
ABS,Y
NOP *
ABS,X
AND
ABS,X
ROL
ABS,X
RLA *
ABS,X
3
4 RTI EOR
(IND,X)
JAM * SLO *
(IND,X)
NOP *
Z-Page
EOR
Z-Page
LSR
Z-Page
SLO *
Z-Page
PHA EOR
IMM
LSR
A
ASR *
IMM
JMP
ABS
EOR
ABS
LSR
ABS
SLO *
ABS
4
5 BVC EOR
(IND),Y
JAM * SLO *
(IND),Y
NOP *
Z-Page,X
EOR
Z-Page,X
LSR
Z-Page,X
SLO *
Z-Page,X
CLI EOR
ABS,Y
NOP * SLO *
ABS,Y
NOP *
ABS,X
EOR
ABS,X
LSR
ABS,X
SLO *
ABS,X
5
6 RTS ADC
(IND,X)
JAM * RRA *
(IND,X)
NOP *
Z-Page
ADC
Z-Page
ROR
Z-Page
RRA *
Z-Page
PLA ADC
IMM
ROR
A
ARR *
IMM
JMP
Indirect
ADC
ABS
ROR
ABS
RRA *
ABS
6
7 BVS ADC
(IND),Y
JAM * RRA *
(IND),Y
NOP *
Z-Page,X
ADC
Z-Page,X
ROR
Z-Page,X
RRA *
Z-Page,X
SEI ADC
ABS,Y
NOP * RRA *
ABS,Y
NOP *
ABS,X
ADC
ABS,X
ROR
ABS,X
RRA *
ABS,X
7
8 NOP *
IMM
STA
(IND,X)
NOP *
IMM
SAX *
(IND,X)
STY
Z-Page
STA
Z-Page
STX
Z-Page
SAX *
Z-Page
DEY NOP *
IMM
TXA AXE *
IMM
STY
ABS
STA
ABS
STX
ABS
SAX *
ABS
8
9 BCC STA
(IND),Y
JAM * AX7 *
(IND),Y
STY
Z-Page,X
STA
Z-Page,X
STX
Z-Page,Y
SAX *
Z-Page,Y
TYA STA
ABS,Y
TXS XS7 *
ABS,Y
SY7 *
ABS,X
STA
ABS,X
SX7 *
ABS,Y
AX7 *
ABS,Y
9
A LDY
IMM
LDA
(IND,X)
LDX
IMM
LAX *
(IND,X)
LDY
Z-Page
LDA
Z-Page
LDX
Z-Page
LAX *
Z-Page
TAY LDA
IMM
TAX XEA *
IMM
LDY
ABS
LDA
ABS
LDX
ABS
LAX *
ABS
A
B BCS LDA
(IND),Y
JAM * LAX *
(IND),Y
LDY
Z-Page,X
LDA
Z-Page,X
LDX
Z-Page,Y
LAX *
Z-Page,Y
CLV LDA
ABS,Y
TSX LAS *
ABS,Y
LDY
ABS,X
LDA
ABS,X
LDX
ABS,Y
LAX *
ABS,Y
B
C CPY
IMM
CMP
(IND,X)
NOP *
IMM
DCP *
(IND,X)
CPY
Z-Page
CMP
Z-Page
DEC
Z-Page
DCP *
Z-Page
INY CMP
IMM
DEX ASX *
IMM
CPY
ABS
CMP
ABS
DEC
ABS
DCP *
ABS
C
D BNE CMP
(IND),Y
JAM * DCP *
(IND),Y
NOP *
Z-Page,X
CMP
Z-Page,X
DEC
Z-Page,X
DCP *
Z-Page,X
CLD CMP
ABS,Y
NOP * DCP *
ABS,Y
NOP *
ABS,X
CMP
ABS,X
DEC
ABS,X
DCP *
ABS,X
D
E CPX
IMM
SBC
(IND,X)
NOP *
IMM
ISB *
(IND,X)
CPX
Z-Page
SBC
Z-Page
INC
Z-Page
ISB *
Z-Page
INX SBC
IMM
NOP SBC *
IMM
CPX
ABS
SBC
ABS
INC
ABS
ISB *
ABS
E
F BEQ SBC
(IND),Y
JAM * ISB *
(IND),Y
NOP *
Z-Page,X
SBC
Z-Page,X
INC
Z-Page,X
ISB *
Z-Page,X
SED SBC
ABS,Y
NOP * ISB *
ABS,Y
NOP *
ABS,X
SBC
ABS,X
INC
ABS,X
ISB *
ABS,X
F
MSD /
/ LSD
0 1 2 3 4 5 6 7 8 9 A B C D E F \ MSD
LSD \

Notes:

* Undocumented instruction. The behavior of these opcodes was observed on an Atari 800. It may vary with other 6502-based CPU's.


Back to Atari page Back to Atari Technical Information page