Мікропроцесорні системи наприкладі Мікропроцесор Z-80
Мнемоника 16-ный код
OR +DD E6 DD
Подгруппа C. Команда XOR.
При работе команды проверяются два разряда. Если хотя бы один из них, но не вместе, установлен в единицу, то результирующий бит устанавливается также в 1,иначе результирующий бит сбрасывается.
Группа 10.Команда DJNZ.
Единственная команда в этой группе является одной из самых полезных и самой широко используемой в Z80.Работа этой команды может быть уподоблена циклу FOR-NEXT программы бэйсик следующего вида: FOR B=X TO 0 STEP-1:NEXT B
в этом цикле переменной “B” присваивается значение X. Затем с каждым проходом цикла она уменьшается до тех пор, пока не достигнет значения 0.Команда DJNZ используется подобным же образом.
Группа 12. Команда стека.
В большинстве программ машинных кодов осуществляется активное использование машинного стека: программистом в качестве места где можно хранить данные, микропроцессором- для сохранения адресов возврата. Команда, которые образуют эту группу, можно разделить на две подгруппы для пользователя и три подгруппы для микропроцессора.
Подгруппа А.PUSH и POP
Эти команды позволяют программисту по PUSH сохранить 2 байта данных в машинном стеке, а по POP-копировать 2 байта из машинного стека. Эти 2 байта данных должны копироваться в строго определенную пару регистров, но важно знать, что не производится никакой записи, которая указывала бы, к какому из двух регистров какой байт данных принадлежит.Когда выполняется команда PUSH, указатель стека предварительно уменьшается, чтобы указать на свободный адрес, и в стек копируется содержимое старшего регистра. Затем указатель стека уменьшается вторично, и величина из младшего регистра копируется в стек. Противоположные действия имеет место во время выполнения команды POP.
Подгруппа B. Команды CALL.
Действие команд CALL следующие:
1.Текущее значение счетчика команд, т.е. адрес первой ячейки после ADDR, сохраняется в стеке. Указатель стека изменяется как в случае команды PUSH. Старший байт счетчика команд сохраняется в стеке над младшим байтом.
2.Адрес ADDR затем записывается в счетчик команд, и выполняется программа.
3.По команде RET осуществляется возврат из программы.
Подгруппа C. Команды RET.
По команде RET адрес возврата из машинного стека побайтно восстанавливается в счетчике команд. При этом указатель стека дважды модифицируется в сторону увеличения. Важно понимать, что восстановленный адрес возврата из машинного стека не обязательно тот, что был в начале помещен туда командой CALL.
Подгруппа D. Команды RST.