Команды арифметических, логических и сдвиговых операций

Данная группа включает в себя команды, непосредственное выполнение которых обеспечивает арифметическо-логическое устройство (АЛУ) процессора 8080. Поэтому способ выполнения и возможности этих команд целиком определяются архитектурными особенностями АЛУ.

Возможности арифметических команд ограничиваются только операциями сложения и вычитания. Умножение, деление и более сложные арифметические операции можно организовать, составив соответствующие подпрограммы на основе имеющихся в распоряжении команд. Кроме того, возможности АЛУ позволяют одной команде оперировать лишь с однобайтными (и немного с двухбайтными) числами. Реализовать операции с многобайтными числами можно программным путём, понимая и используя признаки результатов однобайтных операций, которые устанавливаются командами этой группы в регистре признаков. К арифметическим командам относятся также команды сравнения, поскольку сравнение производится путём вычитания и установки признаков Z и CY, способных отразить равенство сравниваемых чисел или указать на большее из них.

Логические команды предоставляют возможности непосредственно выполнить следующие операции с однобайтными числами: “И” (конъюнкция), “ИЛИ” (дизъюнкция), “исключающее ИЛИ” (сложение по модулю два), “НЕ” (инверсия).

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

К этой же группе относится специальная арифметическая команда, обеспечивающая десятичную коррекцию, а также команды управление битом переноса CY.

Схема выполнения практически всех арифметических и логических операций может быть представлена следующим образом:

(A) (A) <op> <2-й операнд>

где <op> – символ операции: “+”, “–”, “&” и т.д. Второй операнд может храниться в регистре процессора, в ячейке памяти или быть в составе самой команды. Первый операнд (или единственный операнд для операций с одним операндом) всегда хранится в аккумуляторе. Результат операции отправляется командой в аккумулятор, а признаки этого результата устанавливаются в регистре признаков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: