CMP

Aus CBMPET.DE

Wechseln zu: Navigation, Suche

Navigation: Hauptseite / Programmierung / Übersicht der 6502-Opcodes

CMP

Compare To Accumulator (Mit Akkumulator vergleichen)

Die adressierten Daten werden vom A-Register abgezogen, das Ergebnis jedoch nicht gespeichert. Es werden lediglich die drei Flaggen N, Z und C dem Ergebnis entsprechend gesetzt. Z=1, wenn beide Werte gleich sind. N=1, wenn der Inhalt von A kleiner als die adressierten Daten ist. C=1, wenn der Inhalt von A größer oder gleich den angegebenen Daten ist.
Üblicherweise wird der Vergleichsbefehl von einer Verzeigung gefolgt. Dabei entdeckt BEQ Gleichheit, BNE Ungleichheit. BMI oder BCC die Kleiner-als-Bedingung und BEQ oder BPL die Größer-als-Bedingung. BCS oder BPL verzweigen im Falle "größer oder gleich" und BEQ gefolgt von BCC oder BMI entdeckt "kleiner oder gleich".


Hex. Object-Code Adressierung Anzahl der Bytes Zyklen
C1 Vor-indiziert mit Indexregister X 2 6
C5 Zero-Page (direkt) 2 3
C9 Unmittelbar 2 4*
CD Absolut (direkt) 3 4
D1 Nach-indiziert mit Indexregister Y 2 5*
D5 Zero-Page indiziert mit Indexregister X 2 4
D9 Absolut indiziert mit Indexregister Y 3 4*
DD Absolut indiziert mit Indexregister X 3 4*

(*) Zusätzlich 1 Zyklus falls die Speichergrenze überschritten wird.

Flags

N V B D I Z C
X         X X


Beispiele

(bisher) keine

Persönliche Werkzeuge