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