💾 Archived View for vigrey.com › 6502 captured on 2023-06-16 at 16:12:07. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-05-24)

-=-=-=-=-=-=-

6502 Instruction Reference

Instructions:

Processor Status Flags:

Opcode Modes:

ADC - Add with Carry

Adds target memory value and Carry Flag (C) (1 if Carry flag is set [1] or 0 if Carry Flag is clear [0]) to A and stores the result into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: ADC #$12

Opcode: $69

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: ADC $12

Opcode: $65

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: ADC $12,X

Opcode: $75

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: ADC $1234

Opcode: $6D

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: ADC $1234,X

Opcode: $7D

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: ADC $1234,Y

Opcode: $79

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: ADC ($12,X)

Opcode: $61

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: ADC ($12),Y

Opcode: $71

Bytes: 2

Cycles: 5 (+1 if page crossed)

AND - Logical AND

Logical AND operation "A AND target memory" is performed and the result is stored into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: AND #$12

Opcode: $29

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: AND $12

Opcode: $25

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: AND $12,X

Opcode: $35

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: AND $1234

Opcode: $2D

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: AND $1234,X

Opcode: $3D

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: AND $1234,Y

Opcode: $39

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: AND ($12,X)

Opcode: $21

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: AND ($12),Y

Opcode: $31

Bytes: 2

Cycles: 5 (+1 if page crossed)

ASL - Arithmetic Shift Left

Shifts all bits of target to the left by 1. 0 is shifted into bit 0 of the target and bit 7 of the target is shifted into Carry Flag (C).

Processor Status After Use:

Opcodes:

Mode: Accumulator

Syntax: ASL

Opcode: $0A

Bytes: 1

Cycles: 2

Mode: Zero Page

Syntax: ASL $12

Opcode: $06

Bytes: 2

Cycles: 5

Mode: Zero Page,X

Syntax: ASL $12,X

Opcode: $16

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: ASL $1234

Opcode: $0E

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: ASL $1234,X

Opcode: $1E

Bytes: 3

Cycles: 7

BCC - Branch if Carry Clear

If Carry Flag (C) is clear (0), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BCC $12

Opcode: $90

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BCS - Branch if Carry Set

If Carry Flag (C) is set (1), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BCS $12

Opcode: $B0

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BEQ - Branch if Equal

If Zero Flag (Z) is set (1), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BEQ $12

Opcode: $F0

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BIT - Bit Test

Logical AND operation "A AND target memory" is performed

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: BIT $12

Opcode: $24

Bytes: 2

Cycles: 3

Mode: Absolute

Syntax: BIT $1234

Opcode: $2C

Bytes: 3

Cycles: 4

BMI - Branch if Minus

If Negative Flag (N) is set (1), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BMI $12

Opcode: $30

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BNE - Branch if Not Equal

If Zero Flag (Z) is clear (0), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BNE $12

Opcode: $D0

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BPL - Branch if Positive

If Negative Flag (N) is clear (0), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BPL $12

Opcode: $10

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BRK - Force Interrupt

The Program Counter is pushed onto the stack and then Processor Status is pushed onto the stack. Stack Pointer is incremented by 3. Value at IRQ Interrupt Vector ($FFFE-$FFFF) is loaded into Program Counter and Break Command (B) is set (set to 1).

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: BRK

Opcode: $00

Bytes: 1

Cycles: 7

BVC - Branch if Overflow Clear

If Overflow Flag (V) is clear (0), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BVC $12

Opcode: $50

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

BVS - Branch if Overflow Set

If Overflow Flag (V) is set (0), add the argument value to Program Counter

Processor Status After Use:

Opcodes:

Mode: Relative

Syntax: BVS $12

Opcode: $70

Bytes: 2

Cycles: 2 (+1 if branch succeeds +2 if to a new page)

CLC - Clear Carry Flag (C)

Clears Carry Flag (C) (sets to 0)

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: CLC

Opcode: $18

Bytes: 1

Cycles: 2

CLD - Clear Decimal Mode Flag (D)

Clears Decimal Mode Flag (D) (sets to 0). Decimal Mode Flag (D) value is uncertain at power-on.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: CLD

Opcode: $D8

Bytes: 1

Cycles: 2

CLI - Clear Interrupt Disable

Clears Interrupt Disable (I) (sets to 0)

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: CLI

Opcode: $58

Bytes: 1

Cycles: 2

CLV - Clear Overflow Flag (V)

Clears Overflow Flag (V) (sets to 0)

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: CLV

Opcode: $B8

Bytes: 1

Cycles: 2

CMP - Compare

Compares A to target memory value

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: CMP #$12

Opcode: $C9

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: CMP $12

Opcode: $C5

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: CMP $12,X

Opcode: $D5

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: CMP $1234

Opcode: $CD

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: CMP $1234,X

Opcode: $DD

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: CMP $1234,Y

Opcode: $D9

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: CMP ($12,X)

Opcode: $C1

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: CMP ($12),Y

Opcode: $D1

Bytes: 2

Cycles: 5 (+1 if page crossed)

CPX - Compare

Compares X to target memory value

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: CPX #$12

Opcode: $E0

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: CPX $12

Opcode: $E4

Bytes: 2

Cycles: 3

Mode: Absolute

Syntax: CPX $1234

Opcode: $EC

Bytes: 3

Cycles: 4

CPY - Compare

Compares Y to target memory value

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: CPY #$12

Opcode: $C0

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: CPY $12

Opcode: $C4

Bytes: 2

Cycles: 3

Mode: Absolute

Syntax: CPY $1234

Opcode: $CC

Bytes: 3

Cycles: 4

DEC - Decrement Memory

Subtracts 1 from target memory value and stores the result into target memory

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: DEC $12

Opcode: $C6

Bytes: 2

Cycles: 5

Mode: Zero Page, X

Syntax: DEC $12,X

Opcode: $D6

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: DEC $1234

Opcode: $CE

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: DEC $1234,X

Opcode: $DE

Bytes: 3

Cycles: 7

DEX - Decrement X Register

Subtracts 1 from X and stores the result into X

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: DEX

Opcode: $CA

Bytes: 1

Cycles: 2

DEY - Decrement Y Register

Subtracts 1 from Y and stores the result into X

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: DEY

Opcode: $88

Bytes: 1

Cycles: 2

EOR - Exclusive OR

Logical XOR operation "A XOR target memory" is performed and the result is stored into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: EOR #$12

Opcode: $49

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: EOR $12

Opcode: $45

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: EOR $12,X

Opcode: $55

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: EOR $1234

Opcode: $4D

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: EOR $1234,X

Opcode: $5D

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: EOR $1234,Y

Opcode: $59

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: EOR ($12,X)

Opcode: $41

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: EOR ($12),Y

Opcode: $51

Bytes: 2

Cycles: 5 (+1 if page crossed)

INC - Increment Memory

Adds 1 to target memory value and stores the result into target memory

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: INC $12

Opcode: $E6

Bytes: 2

Cycles: 5

Mode: Zero Page,X

Syntax: INC $12,X

Opcode: $F6

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: INC $1234

Opcode: $EE

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: INC $1234,X

Opcode: $FE

Bytes: 3

Cycles: 7

INX - Increment X Register

Adds 1 to X and stores the result into X

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: INX

Opcode: $E8

Bytes: 1

Cycles: 2

INY - Increment Y Register

Adds 1 to Y and stores the result into Y

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: INY

Opcode: $C8

Bytes: 1

Cycles: 2

JMP - Jump

Sets Program Counter to address specified by argument. Original 6502 processors mishandle (Indirect) JMP instructions if the low byte of the argument is $FF and will not correctly increment the high byte of the argument by 1. For example, JMP ($10FF) sets the low byte of Program Counter to the value at memory address $10FF, but sets the high byte of Program Counter to the value at memory address $1000 instead of $1100.

Processor Status After Use:

Opcodes:

Mode: Absolute

Syntax: JMP $1234

Opcode: $4C

Bytes: 3

Cycles: 3

Mode: (Indirect)

Syntax: JMP ($1234)

Opcode: $6C

Bytes: 3

Cycles: 5

JSR - Jump to Subroutine

Pushes the Program Counter minus 1 onto the stack. Program Counter is then set to the argument value. Stack Pointer is incremented by 2.

Processor Status After Use:

Opcodes:

Mode: Absolute

Syntax: JSR $1234

Opcode: $20

Bytes: 3

Cycles: 6

LDA - Load Accumulator

Loads value of target memory into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: LDA #$12

Opcode: $A9

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: LDA $12

Opcode: $A5

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: LDA $12,X

Opcode: $B5

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: LDA $1234

Opcode: $AD

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: LDA $1234,X

Opcode: $BD

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: LDA $1234,Y

Opcode: $B9

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: LDA ($12,X)

Opcode: $A1

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: LDA ($12),Y

Opcode: $B1

Bytes: 2

Cycles: 5 (+1 if page crossed)

LDX - Load X Register

Loads value of target memory into X

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: LDX #$12

Opcode: $A2

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: LDX $12

Opcode: $A6

Bytes: 2

Cycles: 3

Mode: Zero Page,Y

Syntax: LDX $12,Y

Opcode: $B6

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: LDX $1234

Opcode: $AE

Bytes: 3

Cycles: 4

Mode: Absolute,Y

Syntax: LDX $1234,Y

Opcode: $BE

Bytes: 3

Cycles: 4 (+1 if page crossed)

LDY - Load Y Register

Loads value of target memory into Y

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: LDY #$12

Opcode: $A0

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: LDY $12

Opcode: $A4

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: LDY $12,X

Opcode: $B4

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: LDY $1234

Opcode: $AC

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: LDY $1234,X

Opcode: $BC

Bytes: 3

Cycles: 4 (+1 if page crossed)

LSR - Logical Shift Right

Shifts all bits of target to the right by 1. 0 is shifted into bit 7 of the target and bit 0 of the target is shifted into Carry Flag (C).

Processor Status After Use:

Opcodes:

Mode: Accumulator

Syntax: LSR

Opcode: $4A

Bytes: 1

Cycles: 2

Mode: Zero Page

Syntax: LSR $12

Opcode: $46

Bytes: 2

Cycles: 5

Mode: Zero Page,X

Syntax: LSR $12, X

Opcode: $56

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: LSR $1234

Opcode: $4E

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: LSR $1234,X

Opcode: $5E

Bytes: 3

Cycles: 7

NOP - No Operation

No changes happen to the processor besides the normal incrementing of Program Counter to the next instruction.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: NOP

Opcode: $EA

Bytes: 1

Cycles: 2

ORA - Logical Inclusive OR

Logical OR operation "A OR target memory" is performed and the result is stored into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: ORA #$12

Opcode: $09

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: ORA $12

Opcode: $05

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: ORA $12,X

Opcode: $15

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: ORA $1234

Opcode: $0D

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: ORA $1234,X

Opcode: $1D

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: ORA $1234,Y

Opcode: $19

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: ORA ($12,X)

Opcode: $01

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: ORA ($12),Y

Opcode: $11

Bytes: 2

Cycles: 5 (+1 if page crossed)

PHA - Push Accumulator

Pushes copy of the A onto the stack. Stack Pointer is incremented by 1.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: PHA

Opcode: $48

Bytes: 1

Cycles: 3

PHP - Push Processor Status

Pushes copy of Processor Status onto stack. Stack Pointer is incremented by 1.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: PHP

Opcode: $08

Bytes: 1

Cycles: 3

PLA - Pull Accumulator

Pops 1 byte from the stack and stores it into A. Stack pointer is decremented by 1.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: PHP

Opcode: $68

Bytes: 1

Cycles: 4

PLP - Pull Processor Status

Pops 1 byte from the stack and Processor Status is set to that 1 byte. Stack pointer is decremented by 1.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: PLP

Opcode: $28

Bytes: 1

Cycles: 4

ROL - Rotate Left

Shifts all bits of target to the left by 1. Carry Flag (C) value is shifted into bit 0 of the target and bit 7 of the target is shifted into Carry Flag (C).

Processor Status After Use:

Opcodes:

Mode: Accumulator

Syntax: ROL

Opcode: $2A

Bytes: 1

Cycles: 2

Mode: Zero Page

Syntax: ROL $12

Opcode: $26

Bytes: 2

Cycles: 5

Mode: Zero Page,X

Syntax: ROL $12,X

Opcode: $36

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: ROL $1234

Opcode: $2E

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: ROL $1234,X

Opcode: $3E

Bytes: 3

Cycles: 7

ROR - Rotate Right

Shifts all bits of target to the right by 1. Carry Flag (C) value is shifted into bit 7 of the target and bit 0 of the target is shifted into Carry Flag (C).

Processor Status After Use:

Opcodes:

Mode: Accumulator

Syntax: ROR

Opcode: $6A

Bytes: 1

Cycles: 2

Mode: Zero Page

Syntax: ROR $12

Opcode: $66

Bytes: 2

Cycles: 5

Mode: Zero Page,X

Syntax: ROR $12,X

Opcode: $76

Bytes: 2

Cycles: 6

Mode: Absolute

Syntax: ROR $1234

Opcode: $6E

Bytes: 3

Cycles: 6

Mode: Absolute,X

Syntax: ROR $1234,X

Opcode: $7E

Bytes: 3

Cycles: 7

RTI - Return from Interrupt

Pops 1 byte from the stack and sets Processor Status to that byte, then pops 2 more bytes from the stack and sets Program Counter to those 2 bytes. Stack pointer is decremented by 3.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: RTI

Opcode: $40

Bytes: 1

Cycles: 6

RTS - Return from Subroutine

Pops 2 bytes from the stack and sets Program Counter to those 2 bytes. Program Counter is then incremented by 1. Stack Pointer is decremented by 2.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: RTS

Opcode: $60

Bytes: 1

Cycles: 6

SBC - Subtract with Carry

Subtracts target memory value and the NOT of Carry Flag (C) (1 if Carry flag is clear [0] or 0 if Carry Flag is set [1]) from A and stores the result into A

Processor Status After Use:

Opcodes:

Mode: Immediate

Syntax: SBC #$12

Opcode: $E9

Bytes: 2

Cycles: 2

Mode: Zero Page

Syntax: SBC $12

Opcode: $E5

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: SBC $12,X

Opcode: $F5

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: SBC $1234

Opcode: $ED

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: SBC $1234,X

Opcode: $FD

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: Absolute,Y

Syntax: SBC $1234,Y

Opcode: $F9

Bytes: 3

Cycles: 4 (+1 if page crossed)

Mode: (Indirect,X)

Syntax: SBC ($12,X)

Opcode: $E1

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: SBC ($12),Y

Opcode: $F1

Bytes: 2

Cycles: 5 (+1 if page crossed)

SEC - Set Carry Flag (C)

Sets Carry Flag (C) (sets to 1)

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: SEC

Opcode: $38

Bytes: 1

Cycles: 2

SED - Set Decimal Mode Flag (D)

Sets Decimal Mode Flag (D) (sets to 1). Decimal Mode Flag (D) value is uncertain at power-on.

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: SED

Opcode: $F8

Bytes: 1

Cycles: 2

SEI - Set Interrupt Disable

Sets Interrupt Disable (I) (sets to 1)

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: SEI

Opcode: $78

Bytes: 1

Cycles: 2

STA - Store Accumulator

Stores value of A into target memory

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: STA $12

Opcode: $85

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: STA $12,X

Opcode: $95

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: STA $1234

Opcode: $8D

Bytes: 3

Cycles: 4

Mode: Absolute,X

Syntax: STA $1234,X

Opcode: $9D

Bytes: 3

Cycles: 5

Mode: Absolute,Y

Syntax: STA $1234,Y

Opcode: $99

Bytes: 3

Cycles: 5

Mode: (Indirect,X)

Syntax: STA ($12,X)

Opcode: $81

Bytes: 2

Cycles: 6

Mode: (Indirect),Y

Syntax: STA ($12),Y

Opcode: $91

Bytes: 2

Cycles: 6

STX - Store X Register

Stores value of X into target memory

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: STX $12

Opcode: $86

Bytes: 2

Cycles: 3

Mode: Zero Page,Y

Syntax: STA $12,Y

Opcode: $96

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: STA $1234

Opcode: $8E

Bytes: 3

Cycles: 4

STY - Store Y Register

Stores content of Y into target memory

Processor Status After Use:

Opcodes:

Mode: Zero Page

Syntax: STX $12

Opcode: $84

Bytes: 2

Cycles: 3

Mode: Zero Page,X

Syntax: STA $12,X

Opcode: $94

Bytes: 2

Cycles: 4

Mode: Absolute

Syntax: STA $1234

Opcode: $8C

Bytes: 3

Cycles: 4

TAX - Transfer Accumulator to X

Copies value of A and stores it into X

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TAX $12

Opcode: $AA

Bytes: 1

Cycles: 2

TAY - Transfer Accumulator to Y

Copies value of A and stores it into Y

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TAY $12

Opcode: $A8

Bytes: 1

Cycles: 2

TSX - Transfer Stack Pointer to X

Copies value of Stack Pointer and stores it into X

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TSX $12

Opcode: $BA

Bytes: 1

Cycles: 2

TXA - Transfer X to Accumulator

Copies value of X and stores it into A

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TXA $12

Opcode: $8A

Bytes: 1

Cycles: 2

TXS - Transfer X to Stack Pointer

Copies value of X and stores it into Stack Pointer

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TXS $12

Opcode: $9A

Bytes: 1

Cycles: 2

TYA - Transfer Y to Accumulator

Copies value of Y and stores it into A

Processor Status After Use:

Opcodes:

Mode: Implied

Syntax: TYA $12

Opcode: $98

Bytes: 1

Cycles: 2