Herwig Siebenhofer
 / Home / 6502
 
6502 Op-Codes

   • ADC
   • AND
   • ASL
   • BCC
   • BCS
   • BEQ
   • BIT
   • BMI
   • BNE
   • BPL
   • BRK
   • BVC
   • BVS
   • CLC
   • CLD
   • CLI
   • CLV
   • CMP
   • CPX
   • CPY
   • DEC
   • DEX
   • DEY
   • EOR
   • INC
   • INX
   • INY
   • JMP
   • JSR
   • LDA
   • LDX
   • LDY
   • LSR
   • NOP
   • ORA
   • PHA
   • PHP
   • PLA
   • PLP
   • ROL
   • ROR
   • RTI
   • RTS
   • SBC
   • SEC
   • SED
   • SEI
   • STA
   • STX
   • STY
   • TAX
   • TAY
   • TSX
   • TXA
   • TXS
   • TYA

Archiv

   • Kurzübersicht
   • Zahlentabelle
   • 6502 Varianten
   • 6502 Register
   • Adressierungen
   • illegale Ops
   • 6502 Bugs
 

6502   Register

RegisterBreiteVerwendung
Akkumulator8 BitStandard-Datenregister
X-Register8 Bitweiteres Datenregister
Y-Register8 Bitweiteres Datenregister
Stapelzeiger8 BitStack-Position
Statusregister8 Bitenthält die Flags
Programcounter16 BitPosition des nächsten Opcodes
 
Der 'Speicher' beinhaltet alle Chips im gesamten Adressbereich, also nicht nur bloß RAM und ROM, sondern auch I/O-Chips. Der Stapel (Stack) ist Teil des Speichers, genauer gesagt der RAM-Bereich von $0100 bis $01FF. Dabei werden die Werte von oben nach unten angelegt – das älterste Byte auf dem Stapel liegt bei $01FF, das zweit älteste bei $01FE usw.

 
Das Statusregister

Im Statusregister liegen die Flags, die den Zustand der letzten logischen bzw. arithmetischen Berechnung wiedergeben. Das Negativ-Flag (N) signalisiert ein negatives Ergebnis. Das Overflow-Flag (V) wird gesetzt, wenn das Ergebnis größer bzw. kleiner ist als das Register. Das Break-Flag (B) wird beim Ausführen des BRK-Befehls gesetzt und beim Rücksprung mit RTI wieder gelöscht. Das Dezimal-Flag (D) ist im Normalmodus gelöscht und im BCD-Modus gesetzt. Das Interrupt-Flag (I) wird bei einem IRQ- oder einem NMI-Signal gesetzt und bei RTI wieder gelöscht. Das Zero-Flag (Z) ist gesetzt, wenn die letzte Berechnung die Zahl '0' ergeben hat, bzw. beim CMP-Befehl der Wert ident ist. Das Carry-Flag (C) ist ein neuntes Bit für Additionen.

76543210
NV–BDIZC

Im 6502, wie auch im 6510, wird Bit 5 des Statusregisters nicht verwendet und ist für künftige Entwicklungen freigehalten.