Команды сравнения в микропроцессорах Intel 8080 и Motorola 6800 выполняют операцию вычитания, не изменяя при этом содержимого аккумулятора. Результат влияет на все флаги состояния. Например, команда СРАВНИТЬ (COMPARE) в обоих процессорах.
Типичные операции сравнения в микропроцессоре Intel 8080:
- CMP B - Устанавливает флаги после операции (A) - (B).
- CPI 10 - Устанавливает флаги после операции (A) - 10.
Типичные операции сравнения в микропроцессоре Motorola 6800:
- CMPA #30 - Устанавливает флаги после операции (A) - 30.
- TST 2000 - Устанавливает флаги после операции (2000) - 0.
Специальные команды:
- DAA (DECIMAL ADJUST ACCUMULATOR): Эта команда используется для коррекции результата сложения в двоично-десятичном коде. Она использует как флаг ПЕРЕНОС, так и ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС для коррекции.
Таблица команд сравнения
| Процессор | Команда | Описание | Влияние на флаги |
|---|---|---|---|
| Intel 8080 | CMP B | (A) - (B) | Устанавливает все флаги |
| Intel 8080 | CPI 10 | (A) - 10 | Устанавливает все флаги |
| Motorola 6800 | CMPA #30 | (A) - 30 | Устанавливает все флаги |
| Motorola 6800 | TST 2000 | (2000) - 0 | Устанавливает все флаги |
| Оба | DAA | Десятичная коррекция | Использует ПЕРЕНОС и ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС |
Как видно из таблицы, команды сравнения являются важным инструментом в арсенале обоих микропроцессоров, позволяя программистам проводить сложные логические операции без изменения основных данных.