Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Арифметические операции с непосредственной адресацией
а) Сложение со вторым байтом
б) Сложение со вторым байтом и переносом
в) Вычитание второго байта
г) Вычитание второго байта с переносом
При выполнении этой группы команд второй операнд приводится непосредственно в команде во втором ее байте. Команды являются двухбайтовыми, выполняются за два цикла (7 тактов). Триггеры признаков устанавливаются в соответствии с результатом выполненной операции. В результате выполнения операции изменяется содержимое аккумулятора, старое содержимое аккумулятора теряется. Примеры: 12A6) ADI 47
0802) ACI A7
0804) SUI FD
0806) SBI 0A
Сложение содержимого пар регистров
При ri+1=111 - HL (HL) + (SP) При выполнении этой команды содержимое пары регистров HL складывается с содержимым пар ВС, DE или с содержимым указателя стека (SP). В коде команд приводится код младшего регистра пары (С или Е). В результате выполнения операции устанавливается в соответствующее состояние только триггер переноса, который принимает значение в соответствии с переносом из старшего бита старшего регистра. Команда выполняется за три цикла (10 тактов).
Пример:
1FC1) DAD D
Логические операции над (А) и (r) а) Логическая операция " И"
Эта операция, как и все остальные логические операции, является побитовой. Можно считать, что для обработки битов каждого разряда используется одна двухвходовая логическая схема, на один вход которой подается значение бита аккумулятора, а на другой - значение соответствующего бита слова, расположенного в памяти (М) или одном из регистров (A, B, C, D, E, H, L ). В микропроцессоре предусмотрено восемь таких двухвходовых схем - по одной для каждого разряда микропроцессора. После выполнения операции результат запишется в аккумулятор, а старое содержимое аккумулятора потеряется. В результате выполнения операции логического умножения все триггеры регистра признаков кроме триггера переноса (Тс) установятся в соответствии с полученным результатом; триггер переноса установится в состояние " 0".Триггер полупереноса (Тн) принимает значение разряда А3 результата. На выполнение операции затрачивается один цикл (4 такта). Если ri =М, то число циклов равно 2 (7 тактов)
Пример: 0800) ANA C
б) " Исключающее ИЛИ"
Эта операция, как и предыдущая, является побитовой; для ее исполнения используются те же регистры. После выполнения команды результат записывается в аккумулятор на место первого операнда. Триггеры признаков, кроме триггеров переноса и полупереноса, устанавливаются в соответствии с результатом. Триггеры Тс и Тн принимают значение " 0". Операция выполняется за 1/2 цикла (4/7 ) тактов. Пример: 0800) XRA C
в) Логическая операция " ИЛИ"
Все сказанное для команды б) справедливо и для этой команды.
Пример:
ORA C
Логические операции с непосредственной адресацией a) Логическая операция " И" со вторым байтом
б) Логическая операция " исключающее ИЛИ" со вторым байтом.
в) Логическая операция " ИЛИ" со вторым байтом
Все сказанное для логических операций над А и ri (п. 4) справедливо и для команд данной группы. Отличие состоит лишь в том, что второй операнд приводится непосредственно в команде во втором ее байте. Каждая операция выполняется за 2 машинных цикла (7 тактов).
Примеры: 0900) XRI 2B
0800) ANI 98
0802) ORI FE
Операции сравнения а) Сравнение (А) с (ri)
Пример: 0100) CMP D
б) Сравнение (А) со вторым байтом
Пример:
0125) CPI 25
Выполнение команд этой группы аналогично выполнению команды " вычитание", но ее результат не загружается в аккумулятор. Хотя по окончании операции исходные данные в аккумуляторе не изменяются, разрядам Z, S и С регистра признаков присваиваются значения в соответствии с полученным результатом. В качестве регистров ri в команде а) могут быть выбраны A, B, C, D, E, H, L, M. С помощью этой команды можно производить сравнение двух слов на " больше", " меньше", " равно". На выполнение команды а) затрачивается 1 машинный цикл (4такта) при работе с регистрами или 2 цикла (7 тактов), если данные находятся в памяти (М) по адресу HL. команда б) выполняется за 2 цикла (7 тактов). 4.7.7 Операции циклического сдвига (а). а) Сдвиг аккумулятора влево без переноса
б) Сдвиг аккумулятора вправо без переноса
в) Сдвиг аккумулятора влево с переносом
г) Сдвиг аккумулятора вправо с переносом
Командой этой группы все данные, находящиеся в аккумуляторе и триггере переноса сдвигаются на одну позицию. При этом в командах а) и б) значение выдвигаемого разряда А7 или А0 передается в разряд соответственно А0 или А7 и запоминается в триггере переноса С, а в командах в) и г) триггер переноса используется как дополнительный девятый разряд регистра. Каждая команда выполняется в течение одного машинного цикла (4 такта). В результате выполнения команды изменяется значение только триггера переноса С, а другие признаки остаются без изменения.
Примеры: 0800) RLC
0801) RRC
0802) RAL
0803) RAR
Дополнение аккумулятора
С помощью этой команды производится инвертирование всех разрядов аккумулятора. Команда выполняется в течение одного цикла (4 такта). Значение триггеров признаков при этом не изменяется. Пример:
0823) CMA
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1177; Нарушение авторского права страницы