Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Глава 4. Арифметические и логические операции






При выполнении арифметических и логических операций, когда операнды однобайтовые, один из операндов всегда находится в акку­муляторе, а второй находится в одном из регистров A, B, C, D, E, H, L или M, то есть в памяти. При непосредственной адресации второй операнд приводится во втором байте команды. Результат выполнения операции записывается в аккумулятор. При этом прежнее содержимое аккумулятора теряется.

Микропроцессор содержит ограниченное число арифметических и логических команд: сложение, вычитание, логическое сложение и логи­ческое умножение, исключающее ИЛИ сравнение и дополнение. Более сложные операции над числовыми данными, также, как умножение, деление и другие, реализуются програм­мно.

 

Арифметические операции над (A) и (r)

а) Сложение

ADD ri A(A) +(ri) < B1>   ri

б) Сложение с переносом

ADC ri A(A) +(ri) + (Tc) < B1>   ri

в) Вычитание

SUB ri A(A) -(ri) < B1>   ri

г) Вычитание с переносом

SBB ri A(A) -(ri) - (Tc) < B1>   ri

7 0

 

В рассмотренных командах производятся арифметические действия над содержимым двух регистров, один из которых (или оба) - аккумулятор. В результате выполнения операции прежнее содержимое аккумулятора замещается суммой или разностью, старое содержимое аккумулятора теряется.

При выполнении команд сложения все триггеры признаков устанавливаются всегда в соответствии с результатом.

При выполнении команд вычитания 3 флага из 5 устанавливаются всегда одинаковым образом, независимо от того сводится вычитание к сложению или нет. Это TS, TZ, TP; флаги TC и Th ведут себя иначе. Изменение Th определяется при преобразовании вычитания в сложение (путем смены знака вычитаемого и преобразования значения в дополнительный код). Флаг TC=1 если код уменьшаемого меньше кода вычитаемого, т.е. имеет место заем.

Применение операций с переносом позволяет обрабатывать не только байтовые числа, но и многобайтовые.

Примеры:

B) ADD M

Адрес/регистр Код до выполнения операции Код после выполнения операции
015B    
H 3E 3E
L    
3E23 6C 6C
A A4  
FL    
PC 015B 015C

A20) ADC E

Адрес/регистр Код до выполнения операции Код после выполнения операции
1A20 8B 8B
A   6A=16+54+0
E    
FL 02; (Tc)=0  
PC 1A20 1A21

 

B3) ADC C

Адрес/регистр Код до выполнения операции Код после выполнения операции
00B3    
C DB DB
A AF 8B=DB+AF+1
FL 13; Tc=1  
PC 00B3 00B4

 

Рассмотренные команды являются однобайтовыми, выполняются за один цикл (4 такта); если операнд хранится в памяти (М), то операция выполняется за два цикла (7 тактов). При выполнении команд меняется содержимое всех триггеров регистра признаков.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.