mirror of
https://github.com/catseye/SixtyPical.git
synced 2024-12-02 07:49:21 +00:00
2.5 KiB
2.5 KiB
6502 Opcodes
As used or unused in SixtyPical.
ld
ld a, 123 → LDA #123
ld a, lives → LDA LIVES
ld x, 123 → LDX #123
ld x, lives → LDX LIVES
ld y, 123 → LDY #123
ld y, lives → LDY LIVES
ld x, a → TAX
ld y, a → TAY
ld a, x → TXA
ld a, y → TYA
st
st a, lives → STA LIVES
st x, lives → STX LIVES
st y, lives → STY LIVES
st on, c → SEC
st off, c → CLC
add dest, src
add a, delta → ADC DELTA
add a, 1 → ADC #1
inc
inc x → INX
inc y → INY
inc lives → INC LIVES
sub
sub a, delta → SBC DELTA
sub a, 1 → SBC #1
dec
dec x → DEX
dec y → DEY
dec lives → DEC LIVES
cmp
cmp a, delta → CMP DELTA
cmp a, 1 → CMP #1
cmp x, 1 → CPX #1
cmp y, 1 → CPY #1
and, or, xor
and a, 8 → AND #8
or a, 8 → ORA #8
xor a, 8 → EOR #8
shl, shr
shl <dest-memory-location>
shr <dest-memory-location>
shl a → ROL A
shl lives → ROL LIVES
shr a → ROR A
shr lives → ROR LIVES
call
call routine → JSR ROUTINE
if
if z → BEQ LABEL
if not z → BNE LABEL
if n → BMI LABEL
if not n → BPL LABEL
if c → BCS LABEL
if not c → BCC LABEL
if v → BVS LABEL
if not v → BVC LABEL
6502 instructions unsupported
ASL Shift Left One Bit (Memory or Accumulator)
LSR Shift Right One Bit (Memory or Accumulator)
BIT Test Bits in Memory with Accumulator
BRK Force Break
CLD Clear Decimal Mode
CLI Clear interrupt Disable Bit
CLV Clear Overflow Flag
NOP No Operation
JMP Jump to New Location // but may be generated as part of `if`
PHA Push Accumulator on Stack
PHP Push Processor Status on Stack
PLA Pull Accumulator from Stack
PLP Pull Processor Status from Stack
RTI Return from Interrupt
RTS Return from Subroutine
SED Set Decimal Mode
SEI Set Interrupt Disable Status
TSX Transfer Stack Pointer to Index X
TXS Transfer Index X to Stack Pointer