CMP ($ll), Y

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Mnemonic: CMP ($ll), Y
Opcode: $D1
Operand(en): $ll
Anzahl der Bytes: 2
Befehlsgruppe: Arithmetik und Logikbefehl
Adressierung: indirekt Y-nachindiziert
Beeinflusste Flags im Statusregister:
Carry-Flag
Negativ-Flag
Zero-Flag
Taktzyklen: 5
1 Extra-Takt bei Grenzüberschreitung


Der Assembler-Befehl CMP ($ll), Y vergleicht den Akkumulator mit dem Inhalt der Speicheradresse (LSB= $ll ; MSB= $ll+1)+Y.
Der Wert wird vom Akkumulator subtrahiert und die Flags entsprechend gesetzt.

Funktionsprinzip

Ass befehl d1.gif

Bedeutung der Buchstaben im Befehl

CMP CoMPare with Accumulator
Vergleiche mit Akkumulator

Beispiel

Vergleich mit Basic

Vergleich Basic Assembler-Befehl nach CMP
= IF Akku = nn THEN GOTO label BEQ label
<> IF Akku <> nn THEN GOTO label BNE label
>= IF Akku >= nn THEN GOTO label BCS label
> IF Akku > nn THEN GOTO label BEQ $02; BCS label
<= IF Akku <= nn THEN GOTO label BEQ label; BCC label
< IF Akku < nn THEN GOTO label BCC label

Links