4. СЛОВАРЬ МНЕМОНИК АССЕМБЛЕРА
Ниже мы даем в алфавитном порядке все мнемоники машинного кода процессора Z-80, их полную форму на английском языке, русский эквивалент и необходимые пояснения. Практика показывает, что эта информация позволяет ускорить освоение системы команд процессора начинающими.
ADC - ADDITION with CARRY = СЛОЖЕНИЕ с учетом ПЕРЕНОСА.
(Операция сложения с учетом состояния флага переноса - флага С регистра F) .
ADD - ADDITION = СЛОЖЕНИЕ.
AND = логическое "И".
BIT - test BIT = Проверить БИТ. (Выполнется проверка включен или нет данный бит в регистре или в ячейке памяти).
CALL = ВЫЗОВ. (Вызывается исполнение подпрограммы).
CCF - COMPLEMENT CARRY FLAG = ДОПОЛНИТЬ (до единицы) ФЛАГ ПЕРЕНОСА. (Эта команда вызывает изменение состояние флага переноса на противоположное).
CP - COMPARE = СРАВНИТЬ.
CPD - COMPARE and DECREMENT = СРАВНИТЬ и УМЕНЬШИТЬ на единицу. (Сравнивается содержимое аккумулятора с содержимым ячейки памяти, адрес которой находится в процессоре. Если они не равны, то адрес и счетчик уменьшаются на единицу).
CPDR - COMPARE, DECREMENT and REPEAT = СРАВНИТЬ, УМЕНЬШИТЬ на единицу и ПОВТОРИТЬ. (Сравнивается содержимое аккумулятора с содержимым заданной ячейки памяти. Если они не равны, то адрес и счетчик уменьшаются на единицу и процесс повторяется).
CPI - COMPARE and INCREMENT = СРАВНИТЬ и УВЕЛИЧИТЬ на единицу. (Сравнивается содержимое аккумулятора с содержимым заданной ячейки памяти. Если они не равны, то адрес увеличивается на единицу, а счетчик уменьшается на единицу).
CPIR - COMPARE, INCREMENT and REPEAT = СРАВНИТЬ, УВЕЛИЧИТЬ на ЕДИНИЦУ и ПОВТОРИТЬ. Сравнивается содержимое аккумулятора с содержимым ячейки памяти, адрес которой находится в процессоре. Если они не равны, то адрес увеличивается на единицу, а счетчик уменьшается на единицу и процесс повторяется).
CPL - COMPLEMENT = ДОПОЛНИТЬ аккумулятор. (Каждый бит аккумулятора переключается на противоположный).
DAA - DECIMAL ADJUST ACCUMULATOR = ДЕСЯТИРИЧНАЯ НАСТРОЙКА АККУМУЛЯТОРА. (Содержимое аккумулятора перестраивается в соответствии с правилами BCD-арифметики).
DEC - DECREMENT = УМЕНЬШЕНИЕ (на единицу).
DI - DISABLE INTERRUPTS = ОТКЛЮЧЕНИЕ ПРЕРЫВАНИЙ.
DJNZ - DECREMENT and JUMP if NOT ZERO = УМЕНЬШИТЬ (на единицу) и ПЕРЕЙТИ, если НЕ НОЛЬ. (Уменьшается на единицу содержимое регистра BC и, если ноль еще не достигнут, выполняется относительный переход на заданную величину байтов).
EI - ENABLE INTERRUPTS = РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
EX - EXCHANGE = ОБМЕН. (Обмен содержимого регистров) .
HALT = СТОП
IM 0 - INTERRUPT MODE 0 = РЕЖИМ ПРЕРЫВАНИЙ 0.
IM 1 - INTERRUPT MODE 1 = РЕЖИМ ПРЕРЫВАНИЙ 1.
IM 2 - INTERRUPT MODE 2 = РЕЖИМ ПРЕРЫВАНИЙ 2.
IN - INPUT = ВВОД (данных с внешнего порта).
INC - INCREMENT = УВЕЛИЧИТЬ (на единицу).
IND - INPUT and DECREMENT = ВВОД и УМЕНЬШЕНИЕ. (После ввода байта с внешнего порта происходит уменьшение указателя адреса на единицу) .
INDR - INPUT, DECREMENT and REPEAT = ВВОД, УМЕНЬШЕНИЕ и ПОВТОР (После ввода байта с внешнего порта происходит уменьшение указателя адреса на единицу, и далее процесс повторяется до тех пор, пока не обнулится счетчик байтов).
INI - INPUT and INCREMENT = ВВОД и УВЕЛИЧЕНИЕ. (После ввода байта с внешнего порта происходит увеличение указателя адреса на единицу) .
INIR - INPUT,INCREMENT and REPEAT = ВВОД, УВЕЛИЧЕНИЕ и ПОВТОР. (После ввода байта с внешнего порта происходит увеличение указателя адреса на единицу и далее процесс повторяется до тех пор, пока не обнулится счетчик байтов).
JP - JUMP = ПЕРЕХОД (абсолютный) .
JR - JUMP RELATIVE = ПЕРЕХОД ОТНОСИТЕЛЬНЫЙ.
LD - LOAD = ЗАГРУЗКА. (Выполняется копирование данных).
LDD - LOAD and DECREMENT - ЗАГРУЗИТЬ и УМЕНЬШИТЬ. (Производится копирование данных из одной области памяти в другую, после чего происходит уменьшение указателей адресов источника и места назначения) .
LDDR - LOAD, DECREMENT and REPEAT - ЗАГРУЗИТЬ, УМЕНЬШИТЬ и ПОВТОРИТЬ. (Производится копирование данных из одной области памяти в другую, после чего происходит уменьшение указателей адресов источника и места назначения, а также счетчика байтов. Если счетчик не равен нулю, то процесс повторяется).
LDI - LOAD and INCREMENT = ЗАГРУЗИТЬ И УВЕЛИЧИТЬ.
(Производится копирование данных из одной области паямти в другую, после чего происходит увеличение указателей адресов источника и места назначения).
LDIR - LOAD, INCREMENT and REPEAT = ЗАГРУЗИТЬ, УВЕЛИЧИТЬ и ПОВТОРИТЬ. (Производится копирование данных из одной области памяти в другую, после чего происходит увеличение указателей адресов источника и места назначения, а также уменьшение счетчика байтов. Если он не равен нулю, то процесс повторяется).
NEG - NEGATE = ИЗМЕНИТЬ ЗНАК (аккумулятора) .
NOP - NO OPERATION = НЕТ ОПЕРАЦИИ
OR - логическое "ИЛИ"
OUT - OUTPUT = ВЫВОД (данных на внешнее устройство).
OUTD - OUTPUT and DECREMENT = ВЫВОД и УМЕНЬШЕНИЕ. (После вывода байта уменьшается на единицу указатель адреса) .
OUTDR - OUTPUT, DECREMENT and REPEAT = ВЫВОД, УМЕНЬШЕНИЕ и ПОВТОР. (После вывода из памяти на внешнее устройство уменьшаются на единицу указатель адреса и содержимое счетчика байтов. Если счетчик не достиг нуля, операция повторяется).
OUTI - OUTPUT and INCREMENT = ВЫВОД и УВЕЛИЧЕНИЕ. (После вывода байта увеличивается на единицу указатель адреса) .
OTIR - OUTPUT, INCREMENT and REPEAT = ВЫВОД, УВЕЛИЧЕНИЕ и ПОВТОР. (После вывода байта увеличивается на единицу указатель адреса и уменьшается содержимое счетчика байтов. Если счетчик не достиг нуля, операция повторяется).
POP = ВЫТОЛКНУТЬ. (Перенос данных с вершины стека в заданную регистровую пару).
PUSH = ЗАТОЛКНУТЬ. (Копирование содержимого регистровой пары на вершину машинного стека) .
RET - RETURN = ВОЗВРАТ.
RETI - RETURN from INTERRUPT = ВОЗВРАТ после обработки ПРЕРЫВАНИЯ.
RETN - RETURN from NON-MASCABLE INTERRUPT = ВОЗВРАТ после обработки НЕМАСКИРОВАННОГО ПРЕРЫВАНИЯ) .
RL - ROTATE LEFT = ВРАЩАТЬ ВЛЕВО (Биты в регистре или в ячейке памяти) .
RLA - ROTATE LEFT ACCUMULATOR = ВРАЩАТЬ ВЛЕВО биты в АККУМУЛЯТОРЕ.
RLC - ROTATE LEFT without CARRY - ВРАЩАТЬ ВЛЕВО без флага ПЕРЕНОСА.(Флаг переноса хоть и изменяется с учетом результата операции, но во вращении не участвует).
RLCA - ROTATE ACCUMULATOR LEFT without CARRY - ВРАЩАТЬ АККУМУЛЯТОР ВЛЕВО без флага ПЕРЕНОСА. (Флаг переноса хоть и изменяется с учетом результата операции, но во вращении не участвует).
RLD - DECIMAL ROTATE LEFT = ДЕСЯТИРИЧНОЕ ВРАЩЕНИЕ ВЛЕВО.
(Вращение влево полубайтов, содержащих десятиричные разряды в BCD-арифметике) .
RR - ROTATE RIGHT = ВРАЩАТЬ ВПРАВО (биты в регистре или в ячейке памяти) .
RRA - ROTATE RIGHT ACCUMULATOR = ВРАЩАТЬ ВПРАВО БИТЫ в АККУМУЛЯТОРЕ).
RRC - ROTATE RIGHT without CARRY - ВРАЩАТЬ ВПРАВО без флага ПЕРЕНОСА. (Флаг переноса хоть и изменяется с учетом результата операции, но во вращении не участвует).
RRCA - ROTATE ACCUMULATOR RIGHT without CARRY - ВРАЩАТЬ АККУМУЛЯТОР ВПРАВО без флага ПЕРЕНОСА. (Флаг переноса хоть и изменяется с учетом результата операции, но во вращении не участвует).
RRD - DECIMAL ROTATE RIGHT = ДЕСЯТИРИЧНОЕ ВРАЩЕНИЕ ВПРАВО.
(Вращение вправо полубайтов в BCD-арифметике).
RST - RESTART = ПОВТОРНЫЙ ЗАПУСК. (Вызов на исполнение
заданной программы из системного ПЗУ компьютера).
SBC - SUBTRACT with CARRY = ВЫЧИТАНИЕ с учетом флага ПЕРЕНОСА.
SET = ВКЛЮЧИТЬ (указанный бит в указанном регистре или ячейке памяти) .
SLA - SHIFT LEFT ARITHMETIC = АРИФМЕТИЧЕСКИЙ СДВИГ ВЛЕВО.
SRA - SHIFT RIGHT ARITHMETIC = АРИФМЕТИЧЕСКИЙ СДВИГ ВПРАВО
SRL - SHIFT RIGHT LOGICAL = ЛОГИЧЕСКИЙ СДВИГ ВПРАВО.