CMP

Porównanie liczby z akumulatora z liczbą z pamięci.

Opis

cmp

Operacja porównania liczb z akumulatora i z pamięci. Sprowadza się do ustawienia trzech flag: N, Z i C. Jakie przyjmą wartości, to zależy od warunków przedstawionych w poniższej tabelce.

Odpowiada to wyliczeniu wyrażenia warunkowego w instrukcji if wysokiego poziomu, jednak aby zasymulować warunkowe wykonanie bloku, należy użyć odpowiedniego rozkazu rozgałęzienia np. BCS.

Operacja wpływa na flagi: N, Z i C.

Wartości flag w zależności od warunku

Warunek N Z C
Akumulator < Pamięć 1 0 0
Akumulator = Pamięć 0 1 1
Akumulator > Pamięć 0 0 1

Tabela opkodów

Opkod Tryb adresowania Czas wykonywania (cykle)
$C9 obr 2
$C5 obr 3
$D5 obr 4
$CD obr 4
$DD obr 4*
$D9 obr 4*
$C1 obr 6
$D1 obr 5*
* Rozkaz wykonuje się o jeden cykl dłużej, kiedy nastąpiło przekroczenie strony