Команды логических операций

Задачей этих команд является выполнение логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, сравнения, сдвига и инвертирования. Эти команды выполняют логические операции над данными в памяти или регистрах и признаках. В таблице 2.7 приведены команды логических операций.

Таблица 2.7 Команды логических операций

Мнемоника команды Код операции Количество байтов в команде Время выполнения команды, циклы Выполняемые действия
ANA R 10100SSS 1 1 (A) (A)Ù(R). Устанавливаются флаги – Z, S, P, AC.
ANA M 10100110 1 2 (A) (A)ÙM(HL). Устанавливаются флаги – Z, S, P, AC.
ANI data 10101SSS 2 2 (A) (A)Ù(байт2). Устанавливаются флаги – Z, S, P, AC.
XRA R 10101SSS 1 1 (A) (A)Å(R). Устанавливаются флаги – Z, S, P.
XRA M 10101110 1 2 (A) (A)ÅM(HL). Устанавливаются флаги – Z, S, P.
XRI data 11101110 2 2 (A) (A)Å(байт2). Устанавливаются флаги – Z, S, P.
ORA R 10110SS 1 1 (A) (A)Ú(R). Устанавливаются флаги – Z, S, P.
ORA M 10110110 1 2 (A) (A)ÚM(HL). Устанавливаются флаги – Z, S, P.
ORI data 11110110 2 2 (A) (A)Ú(байт2). Устанавливаются флаги – Z, S, P.
CMP R 10111SSS 1 1 (A)-(R). Флаги – Z=1, если (A)=(R), C=1, если (A)<(R).
CMP M 10111110 1 2 (A)-M(HL). Флаги – Z=1, если (A)=(M), C=1, если (A)<(M).
CPI data 11111110 2 2 (A)-(байт2). Флаги – Z=1, если (A)=(байт2), C=1, если (A)<(байт2).
RLC 00000111 1 1 Сдвиг влево (A ) (2A). Устанавливается флаг C.
RRC 00001111 1 1 Сдвиг вправо. (A) (A/2). Устанавливается флаг C.
RAL 00010111 1 1 Циклический сдвиг влево. Устанавливается флаг C.
RAR 00011111 1 1 Циклический сдвиг вправо. Устанавливается флаг C.
CMA 00101111 1 1
CMC 00111111 1 1
STC 00110111 1 1 (C) 1.