65C02 CPU OpCodes: Difference between revisions

From NerdConsole
Jump to navigationJump to search
(Created page with "{| class='wikitable' | ! width='25' | 0 ! width='25' | 1 ! width='25' | 2 ! width='25' | 3 ! width='25' | 4 ! width='25' | 5 ! width='25' | 6 ! width='25' | 7 ! width='25' | 8 ! width='25' | 9 ! width='25' | A ! width='25' | B ! width='25' | C ! width='25' | D ! width='25' | E ! width='25' | F |- ! 0x | align='center' | BRK | align='center' | ORA | align='center' | - | align='center' | - | align='center' | TRB | align='center' | ORA | align='center' | ASL | align='center...")
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 19: Line 19:
|-
|-
! 0x
! 0x
| align='center' | BRK
| align='center' title='$00 Break' | [[OpCode - BRK|BRK]]
| align='center' | ORA
| align='center' title='$01 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | -
| align='center' title='$02 Invalid OpCode' | -
| align='center' | -
| align='center' title='$03 Invalid OpCode' | -
| align='center' | TRB
| align='center' title='$04 Test and Reset Memory Bits with Accumulator' | [[OpCode - TRB|TRB]]
| align='center' | ORA
| align='center' title='$05 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ASL
| align='center' title='$06 Arithmetic Shift Left' | [[OpCode - ASL|ASL]]
| align='center' | RMB0
| align='center' title='$07 Reset Memory Bit 0' | [[OpCode - RMB0|RMB0]]
| align='center' | PHP
| align='center' title='$08 Push Processor Status to Stack' | [[OpCode - PHP|PHP]]
| align='center' | ORA
| align='center' title='$09 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ASL
| align='center' title='$0A Arithmetic Shift Left' | [[OpCode - ASL|ASL]]
| align='center' | -
| align='center' title='$0B Invalid OpCode' | -
| align='center' | TSB
| align='center' title='$0C Test and Set Memory Bits with Accumulator' | [[OpCode - TSB|TSB]]
| align='center' | ORA
| align='center' title='$0D Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ASL
| align='center' title='$0E Arithmetic Shift Left' | [[OpCode - ASL|ASL]]
| align='center' | BBR0
| align='center' title='$0F Branch if Bit 0 Reset' | [[OpCode - BBR0|BBR0]]
|-
|-
! 1x
! 1x
| align='center' | BPL
| align='center' title='$10 Branch on Plus' | [[OpCode - BPL|BPL]]
| align='center' | ORA
| align='center' title='$11 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ORA
| align='center' title='$12 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | -
| align='center' title='$13 Invalid OpCode' | -
| align='center' | TRB
| align='center' title='$14 Test and Reset Memory Bits with Accumulator' | [[OpCode - TRB|TRB]]
| align='center' | ORA
| align='center' title='$15 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ASL
| align='center' title='$16 Arithmetic Shift Left' | [[OpCode - ASL|ASL]]
| align='center' | RMB1
| align='center' title='$17 Reset Memory Bit 1' | [[OpCode - RMB1|RMB1]]
| align='center' | CLC
| align='center' title='$18 Clear Carry' | [[OpCode - CLC|CLC]]
| align='center' | ORA
| align='center' title='$19 Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | INC
| align='center' title='$1A Increment Accumulator' | [[OpCode - INC|INC]]
| align='center' | -
| align='center' title='$1B Invalid OpCode' | -
| align='center' | TRB
| align='center' title='$1C Test and Reset Memory Bits with Accumulator' | [[OpCode - TRB|TRB]]
| align='center' | ORA
| align='center' title='$1D Bitwise OR with Accumulator' | [[OpCode - ORA|ORA]]
| align='center' | ASL
| align='center' title='$1E Arithmetic Shift Left' | [[OpCode - ASL|ASL]]
| align='center' | BBR1
| align='center' title='$1F Branch if Bit 1 Reset' | [[OpCode - BBR1|BBR1]]
|-
|-
! 2x
! 2x
| align='center' | JSR
| align='center' title='$20 Jump to Subroutine' | [[OpCode - JSR|JSR]]
| align='center' | AND
| align='center' title='$21 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | -
| align='center' title='$22 Invalid OpCode' | -
| align='center' | -
| align='center' title='$23 Invalid OpCode' | -
| align='center' | BIT
| align='center' title='$24 Test Bits' | [[OpCode - BIT|BIT]]
| align='center' | AND
| align='center' title='$25 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | ROL
| align='center' title='$26 Rotate Left' | [[OpCode - ROL|ROL]]
| align='center' | RMB2
| align='center' title='$27 Reset Memory Bit 2' | [[OpCode - RMB2|RMB2]]
| align='center' | PLP
| align='center' title='$28 Pull Processor Status from Stack' | [[OpCode - PLP|PLP]]
| align='center' | AND
| align='center' title='$29 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | ROL
| align='center' title='$2A Rotate Left' | [[OpCode - ROL|ROL]]
| align='center' | -
| align='center' title='$2B Invalid OpCode' | -
| align='center' | BIT
| align='center' title='$2C Test Bits' | [[OpCode - BIT|BIT]]
| align='center' | AND
| align='center' title='$2D Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | ROL
| align='center' title='$2E Rotate Left' | [[OpCode - ROL|ROL]]
| align='center' | BBR2
| align='center' title='$2F Branch if Bit 2 Reset' | [[OpCode - BBR2|BBR2]]
|-
|-
! 3x
! 3x
| align='center' | BMI
| align='center' title='$30 Branch on Minus' | [[OpCode - BMI|BMI]]
| align='center' | AND
| align='center' title='$31 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | AND
| align='center' title='$32 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | -
| align='center' title='$33 Invalid OpCode' | -
| align='center' | BIT
| align='center' title='$34 Test Bits' | [[OpCode - BIT|BIT]]
| align='center' | AND
| align='center' title='$35 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | ROL
| align='center' title='$36 Rotate Left' | [[OpCode - ROL|ROL]]
| align='center' | RMB3
| align='center' title='$37 Reset Memory Bit 3' | [[OpCode - RMB3|RMB3]]
| align='center' | SEC
| align='center' title='$38 Set Carry' | [[OpCode - SEC|SEC]]
| align='center' | AND
| align='center' title='$39 Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | DEC
| align='center' title='$3A Decrement Accumulator' | [[OpCode - DEC|DEC]]
| align='center' | -
| align='center' title='$3B Invalid OpCode' | -
| align='center' | BIT
| align='center' title='$3C Test Bits' | [[OpCode - BIT|BIT]]
| align='center' | AND
| align='center' title='$3D Bitwise AND with Accumulator' | [[OpCode - AND|AND]]
| align='center' | ROL
| align='center' title='$3E Rotate Left' | [[OpCode - ROL|ROL]]
| align='center' | BBR3
| align='center' title='$3F Branch if Bit 3 Reset' | [[OpCode - BBR3|BBR3]]
|-
|-
! 4x
! 4x
| align='center' | RTI
| align='center' title='$40 Return from Interrupt' | [[OpCode - RTI|RTI]]
| align='center' | EOR
| align='center' title='$41 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | -
| align='center' title='$42 Invalid OpCode' | -
| align='center' | -
| align='center' title='$43 Invalid OpCode' | -
| align='center' | -
| align='center' title='$44 Invalid OpCode' | -
| align='center' | EOR
| align='center' title='$45 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | LSR
| align='center' title='$46 Logical Shift Right' | [[OpCode - LSR|LSR]]
| align='center' | RMB4
| align='center' title='$47 Reset Memory Bit 4' | [[OpCode - RMB4|RMB4]]
| align='center' | PHA
| align='center' title='$48 Push Accumulator to Stack' | [[OpCode - PHA|PHA]]
| align='center' | EOR
| align='center' title='$49 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | LSR
| align='center' title='$4A Logical Shift Right' | [[OpCode - LSR|LSR]]
| align='center' | -
| align='center' title='$4B Invalid OpCode' | -
| align='center' | JMP
| align='center' title='$4C Jump' | [[OpCode - JMP|JMP]]
| align='center' | EOR
| align='center' title='$4D Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | LSR
| align='center' title='$4E Logical Shift Right' | [[OpCode - LSR|LSR]]
| align='center' | BBR4
| align='center' title='$4F Branch if Bit 4 Reset' | [[OpCode - BBR4|BBR4]]
|-
|-
! 5x
! 5x
| align='center' | BVC
| align='center' title='$50 Branch on Overflow Clear' | [[OpCode - BVC|BVC]]
| align='center' | EOR
| align='center' title='$51 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | EOR
| align='center' title='$52 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | -
| align='center' title='$53 Invalid OpCode' | -
| align='center' | -
| align='center' title='$54 Invalid OpCode' | -
| align='center' | EOR
| align='center' title='$55 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | LSR
| align='center' title='$56 Logical Shift Right' | [[OpCode - LSR|LSR]]
| align='center' | RMB5
| align='center' title='$57 Reset Memory Bit 5' | [[OpCode - RMB5|RMB5]]
| align='center' | CLI
| align='center' title='$58 Clear Interrupt' | [[OpCode - CLI|CLI]]
| align='center' | EOR
| align='center' title='$59 Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | PHY
| align='center' title='$5A Push Y Register to Stack' | [[OpCode - PHY|PHY]]
| align='center' | -
| align='center' title='$5B Invalid OpCode' | -
| align='center' | -
| align='center' title='$5C Invalid OpCode' | -
| align='center' | EOR
| align='center' title='$5D Bitwise Exclusive OR' | [[OpCode - EOR|EOR]]
| align='center' | LSR
| align='center' title='$5E Logical Shift Right' | [[OpCode - LSR|LSR]]
| align='center' | BBR5
| align='center' title='$5F Branch if Bit 5 Reset' | [[OpCode - BBR5|BBR5]]
|-
|-
! 6x
! 6x
| align='center' | RTS
| align='center' title='$60 Return from Subroutine' | [[OpCode - RTS|RTS]]
| align='center' | ADC
| align='center' title='$61 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | -
| align='center' title='$62 Invalid OpCode' | -
| align='center' | -
| align='center' title='$63 Invalid OpCode' | -
| align='center' | STZ
| align='center' title='$64 Store Zero to Memory' | [[OpCode - STZ|STZ]]
| align='center' | ADC
| align='center' title='$65 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ROR
| align='center' title='$66 Rotate Right' | [[OpCode - ROR|ROR]]
| align='center' | RMB6
| align='center' title='$67 Reset Memory Bit 6' | [[OpCode - RMB6|RMB6]]
| align='center' | PLA
| align='center' title='$68 Pull Stack to Accumulator' | [[OpCode - PLA|PLA]]
| align='center' | ADC
| align='center' title='$69 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ROR
| align='center' title='$6A Rotate Right' | [[OpCode - ROR|ROR]]
| align='center' | -
| align='center' title='$6B Invalid OpCode' | -
| align='center' | JMP
| align='center' title='$6C Jump' | [[OpCode - JMP|JMP]]
| align='center' | ADC
| align='center' title='$6D Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ROR
| align='center' title='$6E Rotate Right' | [[OpCode - ROR|ROR]]
| align='center' | BBR6
| align='center' title='$6F Branch if Bit 6 Reset' | [[OpCode - BBR6|BBR6]]
|-
|-
! 7x
! 7x
| align='center' | BVS
| align='center' title='$70 Branch on Overflow Set' | [[OpCode - BVS|BVS]]
| align='center' | ADC
| align='center' title='$71 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ADC
| align='center' title='$72 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | -
| align='center' title='$73 Invalid OpCode' | -
| align='center' | STZ
| align='center' title='$74 Store Zero to Memory' | [[OpCode - STZ|STZ]]
| align='center' | ADC
| align='center' title='$75 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ROR
| align='center' title='$76 Rotate Right' | [[OpCode - ROR|ROR]]
| align='center' | RMB7
| align='center' title='$77 Reset Memory Bit 7' | [[OpCode - RMB7|RMB7]]
| align='center' | SEI
| align='center' title='$78 Set Interrupt' | [[OpCode - SEI|SEI]]
| align='center' | ADC
| align='center' title='$79 Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | PLY
| align='center' title='$7A Pull Register Y from Stack' | [[OpCode - PLY|PLY]]
| align='center' | -
| align='center' title='$7B Invalid OpCode' | -
| align='center' | JMP
| align='center' title='$7C Jump' | [[OpCode - JMP|JMP]]
| align='center' | ADC
| align='center' title='$7D Add with Carry' | [[OpCode - ADC|ADC]]
| align='center' | ROR
| align='center' title='$7E Rotate Right' | [[OpCode - ROR|ROR]]
| align='center' | BBR7
| align='center' title='$7F Branch if Bit 7 Reset' | [[OpCode - BBR7|BBR7]]
|-
|-
! 8x
! 8x
| align='center' | BRA
| align='center' title='$80 Branch Always' | [[OpCode - BRA|BRA]]
| align='center' | STA
| align='center' title='$81 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | -
| align='center' title='$82 Invalid OpCode' | -
| align='center' | -
| align='center' title='$83 Invalid OpCode' | -
| align='center' | STY
| align='center' title='$84 Store Y Register' | [[OpCode - STY|STY]]
| align='center' | STA
| align='center' title='$85 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | STX
| align='center' title='$86 Store X Register' | [[OpCode - STX|STX]]
| align='center' | SMB0
| align='center' title='$87 Set Memory Bit 0' | [[OpCode - SMB0|SMB0]]
| align='center' | DEY
| align='center' title='$88 Decrement Y Register' | [[OpCode - DEY|DEY]]
| align='center' | BIT
| align='center' title='$89 Test Bits' | [[OpCode - BIT|BIT]]
| align='center' | TXA
| align='center' title='$8A Transfer X Register to Accumulator' | [[OpCode - TXA|TXA]]
| align='center' | -
| align='center' title='$8B Invalid OpCode' | -
| align='center' | STY
| align='center' title='$8C Store Y Register' | [[OpCode - STY|STY]]
| align='center' | STA
| align='center' title='$8D Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | STX
| align='center' title='$8E Store X Register' | [[OpCode - STX|STX]]
| align='center' | BBS0
| align='center' title='$8F Branch if Bit 0 Set' | [[OpCode - BBS0|BBS0]]
|-
|-
! 9x
! 9x
| align='center' | BCC
| align='center' title='$90 Branch on Carry Clear' | [[OpCode - BCC|BCC]]
| align='center' | STA
| align='center' title='$91 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | STA
| align='center' title='$92 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | -
| align='center' title='$93 Invalid OpCode' | -
| align='center' | STY
| align='center' title='$94 Store Y Register' | [[OpCode - STY|STY]]
| align='center' | STA
| align='center' title='$95 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | STX
| align='center' title='$96 Store X Register' | [[OpCode - STX|STX]]
| align='center' | SMB1
| align='center' title='$97 Set Memory Bit 1' | [[OpCode - SMB1|SMB1]]
| align='center' | TYA
| align='center' title='$98 Transfer Y Register to Accumulator' | [[OpCode - TYA|TYA]]
| align='center' | STA
| align='center' title='$99 Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | TXS
| align='center' title='$9A Transfer X Register to Stack Pointer' | [[OpCode - TXS|TXS]]
| align='center' | -
| align='center' title='$9B Invalid OpCode' | -
| align='center' | STZ
| align='center' title='$9C Store Zero to Memory' | [[OpCode - STZ|STZ]]
| align='center' | STA
| align='center' title='$9D Store Accumulator' | [[OpCode - STA|STA]]
| align='center' | STZ
| align='center' title='$9E Store Zero to Memory' | [[OpCode - STZ|STZ]]
| align='center' | BBS1
| align='center' title='$9F Branch if Bit 1 Set' | [[OpCode - BBS1|BBS1]]
|-
|-
! Ax
! Ax
| align='center' | LDY
| align='center' title='$A0 Load Y Register' | [[OpCode - LDY|LDY]]
| align='center' | LDA
| align='center' title='$A1 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDX
| align='center' title='$A2 Load X Register' | [[OpCode - LDX|LDX]]
| align='center' | -
| align='center' title='$A3 Invalid OpCode' | -
| align='center' | LDY
| align='center' title='$A4 Load Y Register' | [[OpCode - LDY|LDY]]
| align='center' | LDA
| align='center' title='$A5 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDX
| align='center' title='$A6 Load X Register' | [[OpCode - LDX|LDX]]
| align='center' | SMB2
| align='center' title='$A7 Set Memory Bit 2' | [[OpCode - SMB2|SMB2]]
| align='center' | TAY
| align='center' title='$A8 Transfer Accumulator to Y Register' | [[OpCode - TAY|TAY]]
| align='center' | LDA
| align='center' title='$A9 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | TAX
| align='center' title='$AA Transfer Accumulator to X Register' | [[OpCode - TAX|TAX]]
| align='center' | -
| align='center' title='$AB Invalid OpCode' | -
| align='center' | LDY
| align='center' title='$AC Load Y Register' | [[OpCode - LDY|LDY]]
| align='center' | LDA
| align='center' title='$AD Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDX
| align='center' title='$AE Load X Register' | [[OpCode - LDX|LDX]]
| align='center' | BBS2
| align='center' title='$AF Branch if Bit 2 Set' | [[OpCode - BBS2|BBS2]]
|-
|-
! Bx
! Bx
| align='center' | BCS
| align='center' title='$B0 Branch on Carry Set' | [[OpCode - BCS|BCS]]
| align='center' | LDA
| align='center' title='$B1 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDA
| align='center' title='$B2 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | -
| align='center' title='$B3 Invalid OpCode' | -
| align='center' | LDY
| align='center' title='$B4 Load Y Register' | [[OpCode - LDY|LDY]]
| align='center' | LDA
| align='center' title='$B5 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDX
| align='center' title='$B6 Load X Register' | [[OpCode - LDX|LDX]]
| align='center' | SMB3
| align='center' title='$B7 Set Memory Bit 3' | [[OpCode - SMB3|SMB3]]
| align='center' | CLV
| align='center' title='$B8 Clear Overflow' | [[OpCode - CLV|CLV]]
| align='center' | LDA
| align='center' title='$B9 Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | TSX
| align='center' title='$BA Transfer Stack Pointer to X Register' | [[OpCode - TSX|TSX]]
| align='center' | -
| align='center' title='$BB Invalid OpCode' | -
| align='center' | LDY
| align='center' title='$BC Load Y Register' | [[OpCode - LDY|LDY]]
| align='center' | LDA
| align='center' title='$BD Load Accumulator' | [[OpCode - LDA|LDA]]
| align='center' | LDX
| align='center' title='$BE Load X Register' | [[OpCode - LDX|LDX]]
| align='center' | BBS3
| align='center' title='$BF Branch if Bit 3 Set' | [[OpCode - BBS3|BBS3]]
|-
|-
! Cx
! Cx
| align='center' | CPY
| align='center' title='$C0 Compare with Y Register' | [[OpCode - CPY|CPY]]
| align='center' | CMP
| align='center' title='$C1 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | -
| align='center' title='$C2 Invalid OpCode' | -
| align='center' | -
| align='center' title='$C3 Invalid OpCode' | -
| align='center' | CPY
| align='center' title='$C4 Compare with Y Register' | [[OpCode - CPY|CPY]]
| align='center' | CMP
| align='center' title='$C5 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | DEC
| align='center' title='$C6 Decrement Memory' | [[OpCode - DEC|DEC]]
| align='center' | SMB4
| align='center' title='$C7 Set Memory Bit 4' | [[OpCode - SMB4|SMB4]]
| align='center' | INY
| align='center' title='$C8 Increment Y Register' | [[OpCode - INY|INY]]
| align='center' | CMP
| align='center' title='$C9 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | DEX
| align='center' title='$CA Decrement X Register' | [[OpCode - DEX|DEX]]
| align='center' | WAI
| align='center' title='$CB Wait for Interrupt' | [[OpCode - WAI|WAI]]
| align='center' | CPY
| align='center' title='$CC Compare with Y Register' | [[OpCode - CPY|CPY]]
| align='center' | CMP
| align='center' title='$CD Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | DEC
| align='center' title='$CE Decrement Memory' | [[OpCode - DEC|DEC]]
| align='center' | BBS4
| align='center' title='$CF Branch if Bit 4 Set' | [[OpCode - BBS4|BBS4]]
|-
|-
! Dx
! Dx
| align='center' | BNE
| align='center' title='$D0 Branch on Not Equal' | [[OpCode - BNE|BNE]]
| align='center' | CMP
| align='center' title='$D1 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | CMP
| align='center' title='$D2 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | -
| align='center' title='$D3 Invalid OpCode' | -
| align='center' | -
| align='center' title='$D4 Invalid OpCode' | -
| align='center' | CMP
| align='center' title='$D5 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | DEC
| align='center' title='$D6 Decrement Memory' | [[OpCode - DEC|DEC]]
| align='center' | SMB5
| align='center' title='$D7 Set Memory Bit 5' | [[OpCode - SMB5|SMB5]]
| align='center' | CLD
| align='center' title='$D8 Clear Decimal' | [[OpCode - CLD|CLD]]
| align='center' | CMP
| align='center' title='$D9 Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | PHX
| align='center' title='$DA Push X Register to Stack' | [[OpCode - PHX|PHX]]
| align='center' | STP
| align='center' title='$DB Stop until CPU Reset' | [[OpCode - STP|STP]]
| align='center' | -
| align='center' title='$DC Invalid OpCode' | -
| align='center' | CMP
| align='center' title='$DD Compare with Accumulator' | [[OpCode - CMP|CMP]]
| align='center' | DEC
| align='center' title='$DE Decrement Memory' | [[OpCode - DEC|DEC]]
| align='center' | BBS5
| align='center' title='$DF Branch if Bit 5 Set' | [[OpCode - BBS5|BBS5]]
|-
|-
! Ex
! Ex
| align='center' | CPX
| align='center' title='$E0 Compare with X Register' | [[OpCode - CPX|CPX]]
| align='center' | SBC
| align='center' title='$E1 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | -
| align='center' title='$E2 Invalid OpCode' | -
| align='center' | -
| align='center' title='$E3 Invalid OpCode' | -
| align='center' | CPX
| align='center' title='$E4 Compare with X Register' | [[OpCode - CPX|CPX]]
| align='center' | SBC
| align='center' title='$E5 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | INC
| align='center' title='$E6 Increment Memory' | [[OpCode - INC|INC]]
| align='center' | SMB6
| align='center' title='$E7 Set Memory Bit 6' | [[OpCode - SMB6|SMB6]]
| align='center' | INX
| align='center' title='$E8 Increment X Register' | [[OpCode - INX|INX]]
| align='center' | SBC
| align='center' title='$E9 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | NOP
| align='center' title='$EA No Operation' | [[OpCode - NOP|NOP]]
| align='center' | -
| align='center' title='$EB Invalid OpCode' | -
| align='center' | CPX
| align='center' title='$EC Compare with X Register' | [[OpCode - CPX|CPX]]
| align='center' | SBC
| align='center' title='$ED Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | INC
| align='center' title='$EE Increment Memory' | [[OpCode - INC|INC]]
| align='center' | BBS6
| align='center' title='$EF Branch if Bit 6 Set' | [[OpCode - BBS6|BBS6]]
|-
|-
! Fx
! Fx
| align='center' | BEQ
| align='center' title='$F0 Branch on Equal' | [[OpCode - BEQ|BEQ]]
| align='center' | SBC
| align='center' title='$F1 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | SBC
| align='center' title='$F2 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | -
| align='center' title='$F3 Invalid OpCode' | -
| align='center' | -
| align='center' title='$F4 Invalid OpCode' | -
| align='center' | SBC
| align='center' title='$F5 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | INC
| align='center' title='$F6 Increment Memory' | [[OpCode - INC|INC]]
| align='center' | SMB7
| align='center' title='$F7 Set Memory Bit 7' | [[OpCode - SMB7|SMB7]]
| align='center' | SED
| align='center' title='$F8 Set Decimal' | [[OpCode - SED|SED]]
| align='center' | SBC
| align='center' title='$F9 Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | PLX
| align='center' title='$FA Pull X Register from Stack' | [[OpCode - PLX|PLX]]
| align='center' | -
| align='center' title='$FB Invalid OpCode' | -
| align='center' | -
| align='center' title='$FC Invalid OpCode' | -
| align='center' | SBC
| align='center' title='$FD Subtract with Carry' | [[OpCode - SBC|SBC]]
| align='center' | INC
| align='center' title='$FE Increment Memory' | [[OpCode - INC|INC]]
| align='center' | BBS7
| align='center' title='$FF Branch if Bit 7 Set' | [[OpCode - BBS7|BBS7]]
|}
|}
Head over to the [[Chip - 65C02 CPU|65C02 CPU]] or to the [[65C02 CPU Address Modes|Address Modes]].

Latest revision as of 19:41, 31 January 2024