implizit
Die implizite Adressierung besteht aus einem 1 Byte Opcode ohne Operand. Sie beinhaltet alle Befehle, die keine Werte benötigen. Bsp.: INX, DEY, BRK
unmittelbar
Die unmittelbare Adressierung hat zwei Bytes bestehend aus einem 1 Byte Opcode und 1 Byte Operand, der direkt den benötigten Wert beinhaltet. Bsp.: LDA #$12, ADC #§88
relativ
Die relative Adressierung bei den Branch-Befehlen hat zwei Bytes bestehend aus einem 1 Byte Opcode und 1 Byte Operand. Der Operand ist relativ zur aktuellen Speicheradresse zu verstehen, zwischen -128 bis +127 Bytes. Der negative Bereich wird als Zweierkomplement angegeben.
absolut
Die absolute Adressierung hat drei Bytes bestehend aus einem 1 Byte Opcode und 2 Bytes Operand. Der Operand gibt eine Speicherstelle an, deren Inhalt zur Berechnung verwendet wird bspw. AND $4400. Bei den Sprungbefehlen gibt es die 16-Bit Zieladresse an. Bsp. JSR $1234
absolut mit Register indiziert
Bei dieser Adressierung bestehend aus 1 Byte Opcode und 2 Byte Operand wird zum 16 Bit Adresswert der Wert des angegebenen Registers dazu addiert und ergibt damit die eigentliche Adresse. Bsp.: LDA $5500,X
indirekt absolut
Die indirekt absolute Adressierung bestehend aus 1 Byte Opcode und 2 Bytes Operand zeigt auf eine Speicherstelle, in der die eigentliche Adresse (zuerst Hi-Byte, dann Lo-Byte) steht. Bsp.: JMP ($3344)
Zero Page
Die Zero Page Adressierung ist ein Spezialfall der absoluten Adressierung bei der nur 2 Bytes bestehend aus 1 Byte Opcode und 1 Byte Operand benötigt wird. Mit dieser Adressierung können nur die ersten 256 Byte (Speicherstellen von $0000 bis $00FF) angesprochen werden. Das Hi-Byte ist hier immer $00 und wird nicht angegeben. Bsp.: LDA $22
Zero Page mit Register indiziert
Bei dieser Adressierung bestehend aus 1 Byte Opcode und 1 Byte Operand wird zum Wert der Inhalt des angegebenen Registers dazu addiert und ergibt damit die eigentliche Adresse. Bsp.: LDX $33,Y
X indizierte indirekte Adressierung
Bei dieser Adressierung bestehend aus 1 Byte Opcode und 1 Byte Operand wird zunächst zum Operand das X-Register dazu addiert. Das Ergebnis ist ein Pointer auf eine Zero Page Adresse, in der die eigentliche 16 Bit Adresse steht. Bsp.: LDA ($77,X)
indirekte Y indizierte Adressierung
Diese Adressierung bestehend aus 1 Byte Opcode und 1 Byte Operand ist ein Pointer auf eine Zero Page Adresse, deren 16 Bit-Inhalt geholt wird und das Y-Register dazu addiert wird. Das Ergebnis ist die eigentliche Speicheradresse. Bsp.: LDA ($88),Y