CMP Compare Accumulator Akkumulator mit Wert vergleichen
Der Vergleichsbefehl CMP führt eine Subtraktion aus und verwirft das Zahlenergebnis, setzt allerdings die Flags. Ein gesetztes Zero-Flag bedeutet, dass der Wert gleich ist. Wenn der Wert im Akkumulator größer oder gleich ist, wird das Carry-Flag gesetzt. Das Negativ-Flag wird gesetzt, wenn Bit 7 des Ergebnisses der Subtraktion gesetzt ist.
Modus | Syntax | Hex | Länge | Zyklen |
unmittelbar | CMP #$11 | C9 | 2 | 2 |
Zero Page | CMP $22 | C5 | 2 | 3 |
Zero Page,X | CMP $33,X | D5 | 2 | 4 |
absolut | CMP $4400 | CD | 3 | 4 |
absolut,X | CMP $5500,X | DD | 3 | 4+ |
absolut,Y | CMP $6600,Y | D9 | 3 | 4+ |
indirekt,X | CMP ($77,X) | C1 | 2 | 6 |
indirekt,Y | CMP ($88),Y | D1 | 2 | 5+ |
+ ... zusätzlicher Taktzyklus bei erhöhtem Hi-Byte
| |
beeinflußte Flags |
N | Negativ-Flag |
Z | Zero-Flag |
C | Carry-Flag |
|
|