Interested Article - Код операции

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

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

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

Язык ассемблера

Язык ассемблера , или просто ассемблер — низкоуровневый язык программирования , использующий мнемоники , инструкции и операнды для представления машинного кода. Это улучшает читаемость при сохранении полного контроля над машинными инструкциями. Также существуют языки высокого уровня , на которых проще писать объёмный код, чем на ассемблере. Такие языки необходимо компилировать для перевода на машинный язык или запускать при помощи других программ — эмуляторов или интерпретаторов .

Программные наборы инструкций

Опкод можно найти и в так называемом байт-коде и прочих представлениях, разработанных скорее для программных интерпретаторов, чем для аппаратного обеспечения. Эти программные наборы инструкций часто задействуют несколько более высокоуровневые типы данных и операции, чем большинство аппаратных аналогов, но тем не менее они основаны на тех же принципах. Примерами может послужить Java Virtual Machine (JVM) языка программирования Java , байт-код, используемый в Emacs для скомпилированного кода Лисп и многие другие.

Примечания

  1. . Дата обращения: 21 июля 2008. 13 февраля 2008 года.
  2. . Дата обращения: 21 июля 2008. 2 марта 2020 года.
  3. . Дата обращения: 13 апреля 2022. 6 октября 2012 года.
Источник —

Same as Код операции