Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PIC_Lektsii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

Команды арифметических операций.

Каким бы мощным устройством мы не считали микропроцессоры, многие из них в действительности могут выполнять только одну команду арифметической обработки – СЛОЖЕНИЕ. Способность микропроцессора выполнять разнообразные арифметические действия обусловлена тем обстоятельством, что сложение он может выполнять различными способами, кроме того, очень быстро.

Микропроцессор может, например, сложить одно двоичное число с дополнительным кодом другого двоичного числа. Тем самым реализуется операция вычитания. Сложение может быть повторено множество раз, а многократное прибавление есть не что иное, как операция умножения. Повторяющееся вычитания представляют собой операцию деления.

Арифметические операции воздействуют на все триггеры регистра признаков (F – регистра).

Команды сложения.

а) Сложение с регистром

ADD r (A)+(r)A

ПАМЯТЬ

ADD r

Где r - регистры B,C,D,E,H,L,A.

По команде СЛОЖЕНИЕ С РЕГИСТРОМ содержимое регистра r прибавляется к содержимому аккумулятора (регистра А). Результат (сумма) помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это однобайтовая команда для выполнения которой затрачивается 1 машинный цикл.

б) Сложение с памятью косвенное

ADD M (A)+(M)A

ПАМЯТЬ

ADD M

По команде СЛОЖЕНИЕ С ПАМЯТЬЮ КОСВЕННОЕ содержимое области памяти, адрес которой указан в регистровой паре H,L, прибавляется к содержимому аккумулятора (регистра А). Результат (сумма) помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это однобайтовая команда для выполнения которой затрачивается 2 машинных цикла.

Выполнение команды ADD M требует предварительной загрузки адреса памяти в регистровую пару H,L.

В) Сложение с непосредственными данными

ADI данные (A)+<данные>A

ПАМЯТЬ

ADD

Данные

При реализации команды СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ содержимое второго байта команды прибавляется к содержимому аккумулятора. Результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это двухбайтовая команда выполнение которой занимает 2 машинных цикла.

Команды сложения с переносом

Команда СЛОЖЕНИЕ С ПЕРЕНОСОМ дает возможность производить сложение двух чисел вместе с переносом, полученным в предыдущей операции.

а) Сложение с регистром и переносом

ADC r (A)+(r)+CA

ПАМЯТЬ

ADC r

Команда 1-байтовая, выполняется за 1 машинный цикл.

б) Сложение с непосредственными данными и переносом

ACI данные (A)+<данные>+CA

ПАМЯТЬ

AСI

Данные

Команда 2-байтовая, выполняется за 2 машинных цикла.

Команды сложения с переносом применяют при выполнении арифметических операций с повышенной точностью. Арифметические операции с повышенной точностью используются, когда одного слова данных оказывается недостаточно для представления промежуточного или окончательного результата вычислений. Понятие арифметики повышенной точности означает использование для представления одного числа размера данных более чем одно слово.

При работе с 8-разрядным микропроцессором, прибегая к двойному формату, т.е. используя два слова для представления одного числа, можно представить числа от 0 до 65535. Применяя тройной формат, оказывается возможным представить числа от 0 до 16777215. Одинарный, двойной и тройной форматы 8-разрядного слова показаны в таб. 1.

Таблица 1

Двоичное представление

Шестнадцатиричное представление

Десятичное представление

Одинарный формат

00000000

11111111

00

FF

0

255

Двойной формат

00000000 00000000

11111111 11111111

0000

FFFF

0

65535

Тройной формат

00000000 00000000 00000000

11111111 11111111 11111111

000000

FFFFFF

0

16777215

При сложении чисел двойного формата сначала складываются их младшие байты. Это делается с помощью обычной команды СЛОЖЕНИЕ, при выполнении которой не используется значение переноса. При этом, конечно, может образоваться перенос из старшего разряда младшего байта суммы. Затем посредством команды СЛОЖЕНИЕ С ПЕРЕНОСОМ производится сложение старших байтов чисел.

Когда числа представлены в тройном формате, необходимо реализовать еще одну команду СЛОЖЕНИЕ С ПЕРЕНОСОМ. При выполнении этой, третьей по счету команды, складываются старшие байты двух чисел тройного формата.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]