| 
    
	Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология  Образование Политология Производство Психология Стандартизация Технологии  | 
	Арифметические операции с непосредственной адресацией
 а) Сложение со вторым байтом 
 б) Сложение со вторым байтом и переносом 
 в) Вычитание второго байта 
 
 г) Вычитание второго байта с переносом 
 При выполнении этой группы команд второй операнд приводится непосредственно в команде во втором ее байте. Команды являются двухбайтовыми, выполняются за два цикла (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; Нарушение авторского права страницы