Техника

Что такое операнд?(в микропроцессорах,точнее в их регистрах)

по идее,это вроде как данные,с которыми оперирует команда,но можно услышать более полное и понятное определение?
Команда микропроцессора состоит из последовательности битов, в которых закодировано:
1) Код команды (т. е. что нужно сделать)
2) Операнды (данные, необходимые для выполнение команды)

Операндом может быть:
- непосредственное число, с которым нужно провести операцию
- код регистра, в котором находится это число
- адрес в памяти, где находится число
- код регистра, где находится адрес памяти, где находится число
- номер порта ввода/вывода, где находится число
- код регистра, где находится номер порта ввода/вывода
- прочие более сложные варианты. Например, адрес числа может складываться из суммы двух регистров + непосредственно заданное смещение.

Операндов может быть несколько

Операндом может быть код регистра или адрес памяти, куда нужно поместить результат операции.

Операнд может быть не задан явно, а подразумеваться в коде операции. Например, он может находиться в стеке.
Серик .
Серик .
53 942
Лучший ответ
Вы все правильно понимаете. Операнд - данные над которыми выполняется операция. Или языковая конструкция, которая указывает исполнителю, как получить эти данные.
Термин противопоставляетя "оператору" или "операции" - т. е. элементу языка, который обозначает действие.

На примере арифметических действий.

-7 + (8*х)

В данном случае 4 оператора: -, +* и скобки. Оператор "-" в данном случае - унарный, или одноместный - имеет один операнд - это константа 7. У оператора * два операнда константа 8 и переменная х. Конструкция 8*х сама является операндом для оператора "скобки", а вместе со скобками - вторым операндом оператора +. Можно сказать так: вторым операндом оператора + является выражение.. . Первый для него, очевидно, операнд -7.
Kazibek Kadirbekov
Kazibek Kadirbekov
82 441
Ну вообще верно, константа, переменная, функция, выражение и другой объект языка программирования, над которым производятся операции. То есть операция И-НЕ будет операндом, например.
Yaqub Necefov
Yaqub Necefov
35 876
Kazibek Kadirbekov Операция И-НЕ сама по себе это не операнд. Т.е. если в программе написано что-то вроде НЕ (х И у), то НЕ и И - это операции, а х, у - операнды оператора И, а (х И у) - операнд оператора НЕ.
Т.е. данные, к которым она применяется будут операндом. Впрочем, и сама операция станет операндом, если является частью сложного выражения.
Kazibek Kadirbekov Операция И-НЕ сама по себе это не операнд. Т.е. если в программе написано что-то вроде НЕ (х И у), то НЕ и И - это операции, а х, у - операнды оператора И, а (х И у) - операнд оператора НЕ.
Т.е. данные, к которым она применяется будут операндом. Впрочем, и сама операция станет операндом, если является частью сложного выражения.