CMP
Porównanie liczby z akumulatora z liczbą z pamięci.
Opis
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 | 2 | |
$C5 | 3 | |
$D5 | 4 | |
$CD | 4 | |
$DD | 4* | |
$D9 | 4* | |
$C1 | 6 | |
$D1 | 5* |
* Rozkaz wykonuje się o jeden cykl dłużej, kiedy nastąpiło przekroczenie strony