Prefix denoting hexadecimal
Prefix denoting immediate data value, when absent implies an address
Prefix denoting binary
Add with carry; Adds a value to the accumulator and accounting for carry
Applies logical AND operator
Arithmetic shift left; Shifts all bits in accumulator left one position, with the bit being pushed out falling into the carry
Branch on carry clear; Jumps to a subroutine if the carry flag is cleared
Branch on carry set; Jumps to a subroutine if the carry flag is set
Branch on equal; Jumps to a subroutine if the zero flag is set
Performs a logical AND on an address and accumulator and sets the Z flag if the result is 0
Branch on minus; Jumps to a subroutine if the negative flag is set
Branch on not equal; Jumps to a subroutine if the zero flag is cleared
Branch on plus; Jumps to a subroutine if the negative bit is cleared
Break; Executes a non-maskable interrupt (NMI)
Branch on overflow clear; Jumps to a subroutine if the overflow bit is cleared
Branch on overflow set; Jumps to a subroutine if the overflow bit is set
Clear carry; clears the carry bit
Clear decimal; clears the decimal bit
Clear interrupt; clears the interrupt bit
Clear overflow; Clears the overflow bit
Compare; Minuses a value with the accumulator, but doesn't store the result. Mainly used with branch instructions.
Compare X; Minuses a value with the X register, but doesn't store the result. Mainly used with branch instructions.
Compare Y; Minuses a value with the Y register, but doesn't store the result. Mainly used with branch instructions.
Decrement; Decreases value in an address by 1
Decrement X; Decreases value in the X register by 1
Decrement Y; Decreases value in the Y register by 1
Exclusive OR; Applies XOR logic with a value and accumulator
Increment; Increment value in an address by 1
Increment X; Increases value in the X register by 1
Increment Y; Increases value in the Y register by 1
Jump; Jumps to an address to execute instructions from
Jump to subroutine
Load A
Load X
Load Y
Logical shift right
No operation
OR A
Push A
Push processor status
Pull A
Pull processor status
Rotate left
Rotate right
Return from interrupt
Return from subroutine
Subtract with carry
Set clear
Set decimal
Set interrupt
Store A
Store X
Store Y
Transfer A to X
Transfer A to Y
Transfer stack to X
Transfer X to A
Transfer X to stack
Transfer Y to A
Parsing no address since the data is implied from context
TAX
Parsing data value
LDA #$40 #Loads 0x40 (64) into A
Addresses an address within the first 256 address spaces
LDA $2A #Loads value at address 0x2A (42) into A
Addresses an address
LDA $1996 #Loads value at address 0x1996 (6502) into A
Addresses a dereferenced pointer stored in two addresses in little endian format. The lower byte of the pointer is the input in this addressing mode.
LDA #$40 STA $1966 #Loads 64 into address 6502 LDA #$00 STA $1967 #Loads 0 into address 6503 LDA ($1966) #Loads value of $0040 into A
Addresses register X
ADC #$64,X
Addresses register Y
ADC #$64,Y
Indirectly addresses X addresses (where X is the value in register X) above the input address
LDA #$40 STA $1966 #Loads 64 into address 6502 LDA #$00 STA $1967 #Loads 0 into address 6503 STX #$40 LDA ($1926,X) #Loads value of $0040 into A
Indirectly addresses Y addresses (where X is the value in register X) above the dereferenced address
LDA #$40 STA $1966 #Loads 64 into address 6502 LDA #$00 STA $1967 #Loads 0 into address 6503 STY #$40 LDA ($1966),Y #Loads value of $0080 into A
Denoted as A, 8 bit register that is used for input and output of Arithmetic Logic Unit (ALU; the CPU component that performs operands)
8 bit register that is used for indexing operations
8 bit register that is used for indexing operations
Denoted as SR, 8 bit register that describe the status of the program
Denoted as PC, 16 bit little endian register that represents the current operand being executed
Denoted as SP, 8 bit register that points to the top of the stack
Toggled when: ADC overclocks, no borrow with SBC or CMP, or manually set or cleared with SEC or CLC respectively. It also takes the form of the bit shifted out in a ASL, LSR, ROL or ROR.
Set when the result of an instruction is zero
When set, interrupts other than the NMI are prohibited.
On some machines, initiates binary-coded decimal representation for easier decimal representation.
Unknown
Is set with ADC and SBC when a value is added or subtracted in a way that changes its sign (like adding #$7F and #$01, or #$FF and #$01).
Represents the seventh bit of the variable in context (as the seventh bit states whether a signed bit is negative).
A hardware event which switches the program flow to some specific block of code that is to be executed whenever this event occurs
Aslo known as a Vblank, the time interval between the end of the final line of a frame and the beggining of the first line of the next frame, in other words, when no graphics are being produced. The notion of "vertical" in the term derives from the CRT electron gun vertically traversing from the bottom right of a monitor to the top left to start the new frame.
An interrupt that cannot be disabled (masked in this sense meand disabled) due to its crucial functionality. In the context of the Famicom, there is an NMI for Vblank intervals since this is the only safe time to write to the PPU.
A maskable interrupt that can be called by setting a CPU flag. In the Famicom context, this is used for bank switching
Act of parsing a block of memory to the registers of some processor
Collection of 4 colours that can be assigned to a sprite or background tiles. Every 16x16 pixel space is bound to one palette
8x8 matrix of pixels
30x32 matrix of tiles in RAM to represent background
Hardware configuration used for a ROM with specific mappings for different size PRG and CHR ROMs and external modules such as Audio chips and WRAM