Übersicht 6502-Assemblerbefehle

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Siehe auch Opcode-Matrix der CPU MOS 6510.

Gruppe Mnemonic Befehl Beschreibung Adressierungsarten
Akkumulator Implizit Unmittelbar Absolut Absolut,X Absolut,Y Zeropage Zeropage,X Zeropage,Y Indirect Indirect,X Indirect,Y Relativ
Ladebefehle LDA Load Accumulator Lade Akkumulator LDA #$nn LDA $hhll LDA $hhll, X LDA $hhll, Y LDA $ll LDA $ll, X LDA ($ll, X) LDA ($ll), Y
Ladebefehle LDX Load X-Register Lade X-Register LDX #$nn LDX $hhll LDX $hhll, Y LDX $ll LDX $ll, Y
Ladebefehle LDY Load Y-Register Lade Y-Register LDY #$nn LDY $hhll LDY $hhll, X LDY $ll LDY $ll, X
Speicherbefehle STA STore Accumulator Speichere Akkumulator STA $hhll STA $hhll, X STA $hhll, Y STA $ll STA $ll, X STA ($ll, X) STA ($ll), Y
Speicherbefehle STX STore X-Register Speichere X-Register STX $hhll STX $ll STX $ll, Y
Speicherbefehle STY STore Y-Register Speichere Y-Register STY $hhll STY $ll STY $ll, X
Transfer-Befehle TAX Transfer Accumulator to X Kopiere Akkumulator zu X TAX
Transfer-Befehle TAY Transfer Accumulator to Y Kopiere Akkumulator zu Y TAY
Transfer-Befehle TXA Transfer X to Accumulator Kopiere X zu Akkumulator TXA
Transfer-Befehle TYA Transfer Y to Accumulator Kopiere Y zu Akkumulator TYA
Transfer-Befehle TSX Transfer Stackpointer to X Kopiere Stackpointer zu X TSX
Transfer-Befehle TXS Transfer X to Stackpointer Kopiere X zu Stackpointer TXS
Logische Operationen AND And Logisches "Und" AND #$nn AND $hhll AND $hhll, X AND $hhll, Y AND $ll AND $ll, X AND ($ll, X) AND ($ll), Y
Logische Operationen ORA OR Accumulator Logisches "Oder" ORA #$nn ORA $hhll ORA $hhll, X ORA $hhll, Y ORA $ll ORA $ll, X ORA ($ll, X) ORA ($ll), Y
Logische Operationen EOR Exclusive OR Logisches "Entweder/Oder" (XOR) EOR #$nn EOR $hhll EOR $hhll, X EOR $hhll, Y EOR $ll EOR $ll, X EOR ($ll, X) EOR ($ll), Y
Arithmetische Operationen ADC ADd with Carry Addiere mit Übertrag ADC #$nn ADC $hhll ADC $hhll, X ADC $hhll, Y ADC $ll ADC $ll, X ADC ($ll, X) ADC ($ll), Y
Arithmetische Operationen SBC Subtract with Carry Subtrahiere mit Übertrag SBC #$nn SBC $hhll SBC $hhll, X SBC $hhll, Y SBC $ll SBC $ll, X SBC ($ll, X) SBC ($ll), Y
Arithmetische Operationen INC INCrement Inkrementiere Speicherzelle INC $hhll INC $hhll, X INC $ll INC $ll, X
Arithmetische Operationen DEC DECrement Dekrementiere Speicherzelle DEC $hhll DEC $hhll, X DEC $ll DEC $ll, X
Arithmetische Operationen INX INcrement X Inkrementiere X-Register INX
Arithmetische Operationen INY INcrement Y Inkrementiere Y-Register INY
Arithmetische Operationen DEX DEcrement X Denkrementiere X-Register DEX
Arithmetische Operationen DEY DEcrement Y Denkrementiere Y-Register DEY
Bitweises Verschieben ASL Arithmetical Shift Left Bitweises Verschieben nach links ASL ASL $hhll ASL $hhll, X ASL $ll ASL $ll, X
Bitweises Verschieben LSR Logical Shift Right Bitweises Verschieben nach rechts LSR LSR $hhll LSR $hhll, X LSR $ll LSR $ll, X
Bitweises Verschieben ROL ROtate Left Bitweises Rotieren nach links ROL ROL $hhll ROL $hhll, X ROL $ll ROL $ll, X
Bitweises Verschieben ROR ROtate Right Bitweises Rotieren nach rechts ROR ROR $hhll ROR $hhll, X ROR $ll ROR $ll, X
Vergleichs-Operationen CMP CoMPare Vergleiche mit Akkumulator CMP #$nn CMP $hhll CMP $hhll, X CMP $hhll, Y CMP $ll CMP $ll, X CMP ($ll, X) CMP ($ll), Y
Vergleichs-Operationen CPX ComPare X Vergleiche mit X CPX #$nn CPX $hhll CPX $ll
Vergleichs-Operationen CPY ComPare Y Vergleiche mit Y CPY #$nn CPY $hhll CPY $ll
Vergleichs-Operationen BIT BIT test BIT-Test mit Akkumulator BIT $hhll BIT $ll
Sprungbefehle (unbedingt) JMP JuMP Unbedingter Sprung JMP $hhll JMP ($hhll)
Sprungbefehle (unbedingt) JSR Jump to SubRoutine Unterprogrammaufruf JSR $hhll
Sprungbefehle (unbedingt) RTS ReTurn from Subroutine Rückkehr aus Unterprogramm RTS
Sprungbefehle (unbedingt) RTI ReTurn from Interrupt Rückkehr aus Interrupt RTI
Sprungbefehle (bedingt) BCC Branch on Carry Clear Verzweige bei gelöschtem Carry-Flag BCC $hhll
Sprungbefehle (bedingt) BCS Branch on Carry Set Verzweige bei gesetztem Carry-Flag BCS $hhll
Sprungbefehle (bedingt) BEQ Branch on EQual Verzweige bei gesetztem Zero-Flag BEQ $hhll
Sprungbefehle (bedingt) BNE Branch on Not Equal Verzweige bei gelöschtem Zero-Flag BNE $hhll
Sprungbefehle (bedingt) BPL Branch on PLus Verzweige bei gelöschtem Negative-Flag BPL $hhll
Sprungbefehle (bedingt) BMI Branch on MInus Verzweige bei gesetztem Negative-Flag BMI $hhll
Sprungbefehle (bedingt) BVC Branch on oVerflow Clear Verzweige bei gelöschtem Overflow-Flag BVC $hhll
Sprungbefehle (bedingt) BVS Branch on oVerflow Set Verzweige bei gesetztem Overflow-Flag BVS $hhll
Flag-Befehl SEC SEt Carry Setze Carry-Flag SEC
Flag-Befehl CLC CLear Carry Lösche Carry-Flag CLC
Flag-Befehl SEI SEt Interrupt Setze Interrupt-Flag SEI
Flag-Befehl CLI CLear Interrupt Lösche Interrupt-Flag CLI
Flag-Befehl CLV CLear oVerflow Lösche Overflow-Flag CLV
Flag-Befehl SED SEt Decimal Setze Decimal-Flag SED
Flag-Befehl CLD CLear Decimal Lösche Decimal-Flag CLD
Stack-Befehle PHA PusH Akkumulator Lege Akkumulatorinhalt auf Stack PHA
Stack-Befehle PLA PuLl Akkumulator Hole Akkumulatorwert vom Stack PLA
Stack-Befehle PHP PusH Processor status Lege Statusregister auf Stack PHP
Stack-Befehle PLP PuLl Processor status Hole Statusregister vom Stack PLP
Spezial-Befehle NOP No OPeration Keine Operation NOP
Spezial-Befehle BRK BReaK Software-Interrupt BRK