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







