Опкод

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

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

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


Язык ассемблера[ | ]

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

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

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

Примечания[ | ]