=========================================================================== 6502 Opcodes and Quasi-Opcodes. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following table lists all of the available opcodes ----------------------------------------------------------------------------- Std Mnemonic Hex Value Description Addressing Mode Bytes/Time * BRK $00 Stack <- PC, PC <- ($fffe) (Immediate) 1/7 * ORA $01 A <- (A) V M (Ind,X) 6/2 JAM $02 [locks up machine] (Implied) 1/- SLO $03 M <- (M >> 1) + A + C (Ind,X) 2/8 NOP $04 [no operation] (Z-Page) 2/3 * ORA $05 A <- (A) V M (Z-Page) 2/3 * ASL $06 C <- A7, A <- (A) << 1 (Z-Page) 2/5 SLO $07 M <- (M >> 1) + A + C (Z-Page) 2/5 * PHP $08 Stack <- (P) (Implied) 1/3 * ORA $09 A <- (A) V M (Immediate) 2/2 * ASL $0A C <- A7, A <- (A) << 1 (Accumalator) 1/2 ANC $0B A <- A /\ M, C=~A7 (Immediate) 1/2 NOP $0C [no operation] (Absolute) 3/4 * ORA $0D A <- (A) V M (Absolute) 3/4 * ASL $0E C <- A7, A <- (A) << 1 (Absolute) 3/6 SLO $0F M <- (M >> 1) + A + C (Absolute) 3/6 * BPL $10 if N=0, PC = PC + offset (Relative) 2/2'2 * ORA $11 A <- (A) V M ((Ind),Y) 2/5'1 JAM $12 [locks up machine] (Implied) 1/- SLO $13 M <- (M >. 1) + A + C ((Ind),Y) 2/8'5 NOP $14 [no operation] (Z-Page,X) 2/4 * ORA $15 A <- (A) V M (Z-Page,X) 2/4 * ASL $16 C <- A7, A <- (A) << 1 (Z-Page,X) 2/6 SLO $17 M <- (M >> 1) + A + C (Z-Page,X) 2/6 * CLC $18 C <- 0 (Implied) 1/2 * ORA $19 A <- (A) V M (Absolute,Y) 3/4'1 NOP $1A [no operation] (Implied) 1/2 SLO $1B M <- (M >> 1) + A + C (Absolute,Y) 3/7 NOP $1C [no operation] (Absolute,X) 2/4'1 * ORA $1D A <- (A) V M (Absolute,X) 3/4'1 * ASL $1E C <- A7, A <- (A) << 1 (Absolute,X) 3/7 SLO $1F M <- (M >> 1) + A + C (Absolute,X) 3/7 * JSR $20 Stack <- PC, PC <- Address (Absolute) 3/6 * AND $21 A <- (A) /\ M (Ind,X) 2/6 JAM $22 [locks up machine] (Implied) 1/- RLA $23 M <- (M << 1) /\ (A) (Ind,X) 2/8 * BIT $24 Z <- ~(A /\ M) N<-M7 V<-M6 (Z-Page) 2/3 * AND $25 A <- (A) /\ M (Z-Page) 2/3 * ROL $26 C <- A7 & A <- A << 1 + C (Z-Page) 2/5 RLA $27 M <- (M << 1) /\ (A) (Z-Page) 2/5'5 * PLP $28 A <- (Stack) (Implied) 1/4 * AND $29 A <- (A) /\ M (Immediate) 2/2 * ROL $2A C <- A7 & A <- A << 1 + C (Accumalator) 1/2 ANC $2B A <- A /\ M, C <- ~A7 (Immediate9 1/2 * BIT $2C Z <- ~(A /\ M) N<-M7 V<-M6 (Absolute) 3/4 * AND $2D A <- (A) /\ M (Absolute) 3/4 * ROL $2E C <- A7 & A <- A << 1 + C (Absolute) 3/6 RLA $2F M <- (M << 1) /\ (A) (Absolute) 3/6'5 * BMI $30 if N=1, PC = PC + offset (Relative) 2/2'2 * AND $31 A <- (A) /\ M ((Ind),Y) 2/5'1 JAM $32 [locks up machine] (Implied) 1/- RLA $33 M <- (M << 1) /\ (A) ((Ind),Y) 2/8'5 NOP $34 [no operation] (Z-Page,X) 2/4 * AND $35 A <- (A) /\ M (Z-Page,X) 2/4 * ROL $36 C <- A7 & A <- A << 1 + C (Z-Page,X) 2/6 RLA $37 M <- (M << 1) /\ (A) (Z-Page,X) 2/6'5 * SEC $38 C <- 1 (Implied) 1/2 * AND $39 A <- (A) /\ M (Absolute,Y) 3/4'1 NOP $3A [no operation] (Implied) 1/2 RLA $3B M <- (M << 1) /\ (A) (Absolute,Y) 3/7'5 NOP $3C [no operation] (Absolute,X) 3/4'1 * AND $3D A <- (A) /\ M (Absolute,X) 3/4'1 * ROL $3E C <- A7 & A <- A << 1 + C (Absolute,X) 3/7 RLA $3F M <- (M << 1) /\ (A) (Absolute,X) 3/7'5 * RTI $40 P <- (Stack), PC <-(Stack) (Implied) 1/6 * EOR $41 A <- (A) \-/ M (Ind,X) 2/6 JAM $42 [locks up machine] (Implied) 1/- SRE $43 M <- (M >> 1) \-/ A (Ind,X) 2/8 NOP $44 [no operation] (Z-Page) 2/3 * EOR $45 A <- (A) \-/ M (Z-Page) 2/3 * LSR $46 C <- A0, A <- (A) >> 1 (Absolute,X) 3/7 SRE $47 M <- (M >> 1) \-/ A (Z-Page) 2/5 * PHA $48 Stack <- (A) (Implied) 1/3 * EOR $49 A <- (A) \-/ M (Immediate) 2/2 * LSR $4A C <- A0, A <- (A) >> 1 (Accumalator) 1/2 ASR $4B A <- [(A /\ M) >> 1] (Immediate) 1/2 * JMP $4C PC <- Address (Absolute) 3/3 * EOR $4D A <- (A) \-/ M (Absolute) 3/4 * LSR $4E C <- A0, A <- (A) >> 1 (Absolute) 3/6 SRE $4F M <- (M >> 1) \-/ A (Absolute) 3/6 * BVC $50 if V=0, PC = PC + offset (Relative) 2/2'2 * EOR $51 A <- (A) \-/ M ((Ind),Y) 2/5'1 JAM $52 [locks up machine] (Implied) 1/- SRE $53 M <- (M >> 1) \-/ A ((Ind),Y) 2/8 NOP $54 [no operation] (Z-Page,X) 2/4 * EOR $55 A <- (A) \-/ M (Z-Page,X) 2/4 * LSR $56 C <- A0, A <- (A) >> 1 (Z-Page,X) 2/6 SRE $57 M <- (M >> 1) \-/ A (Z-Page,X) 2/6 * CLI $58 I <- 0 (Implied) 1/2 * EOR $59 A <- (A) \-/ M (Absolute,Y) 3/4'1 NOP $5A [no operation] (Implied) 1/2 SRE $5B M <- (M >> 1) \-/ A (Absolute,Y) 3/7 NOP $5C [no operation] (Absolute,X) 3/4'1 * EOR $5D A <- (A) \-/ M (Absolute,X) 3/4'1 SRE $5F M <- (M >> 1) \-/ A (Absolute,X) 3/7 * RTS $60 PC <- (Stack) (Implied) 1/6 * ADC $61 A <- (A) + M + C (Ind,X) 2/6 JAM $62 [locks up machine] (Implied) 1/- RRA $63 M <- (M >> 1) + (A) + C (Ind,X) 2/8'5 NOP $64 [no operation] (Z-Page) 2/3 * ADC $65 A <- (A) + M + C (Z-Page) 2/3 * ROR $66 C<-A0 & A<- (A7=C + A>>1) (Z-Page) 2/5 RRA $67 M <- (M >> 1) + (A) + C (Z-Page) 2/5'5 * PLA $68 A <- (Stack) (Implied) 1/4 * ADC $69 A <- (A) + M + C (Immediate) 2/2 * ROR $6A C<-A0 & A<- (A7=C + A>>1) (Accumalator) 1/2 ARR $6B A <- [(A /\ M) >> 1] (Immediate) 1/2'5 JMP $6C PC <- Address (Indirect) 3/5 ADC $6D A <- (A) + M + C (Absolute) 3/4 ROR $6E C<-A0 & A<- (A7=C + A>>1) (Absolute) 3/6 RRA $6F M <- (M >> 1) + (A) + C (Absolute) 3/6'5 BVS $70 if V=1, PC = PC + offset (Relative) 2/2'2 ADC $71 A <- (A) + M + C ((Ind),Y) 2/5'1 JAM $72 [locks up machine] (Implied) 1/- RRA $73 M <- (M >> 1) + (A) + C ((Ind),Y) 2/8'5 NOP $74 [no operation] (Z-Page,X) 2/4 ADC $75 A <- (A) + M + C (Z-Page,X) 2/4 ROR $76 C<-A0 & A<- (A7=C + A>>1) (Z-Page,X) 2/6 RRA $77 M <- (M >> 1) + (A) + C (Z-Page,X) 2/6'5 SEI $78 I <- 1 (Implied) 1/2 ADC $79 A <- (A) + M + C (Absolute,Y) 3/4'1 NOP $7A [no...
Amiga7878