Команды сравнения в микропроцессорах 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 | Десятичная коррекция | Использует ПЕРЕНОС и ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС |
Как видно из таблицы, команды сравнения являются важным инструментом в арсенале обоих микропроцессоров, позволяя программистам проводить сложные логические операции без изменения основных данных.