- Опкод
-
- Эта статья об инструкциях; о системе команд в целом см.: Машинный код.
В комьютерной отрасли под кодом операции (также операционный код, опкод — англ. operation code) понимают часть машинного языка, называемую инструкцией, определяющую операцию, которая должна быть выполнена. Их определение и формат зависят от системы команд данного процессора (который может быть как главным процессором, так и более специализированным для работы в какой-либо конкретной области). В отличие от самого опкода, инструкция обычно имеет одно или больше определений для операндов (то есть данных) над которыми должна выполняться операция, хотя некоторые операции могут иметь явные операнды или совсем их не иметь. Существуют наборы инструкций со схожими полями посточнного размера для опкода и определений операндов, в то время как другие (архитектура [1]
В зависимости от архитектуры, операнды могут быть значениями регистров, значениями стека, прочими значениями в памяти, портами ввода-вывода, и прочими, определение и доступ к которым осуществляется при помощи различным набором методов адресации. Типы операций включают в себя арифметические действия, копирование данных, логические операции, прочие программные конструкции, в отличие от специальных инструкций (таких как
Содержание
Язык ассемблера
Язык ассемблера, или просто ассемблер — низкоуровневый язык программирования, использующий мнемоники, инструкции и операнды для представления машинного кода. Это улучшает читаемость при сохранении полного контроля над машинными инструкциями. Большая часть этого программируется на языках высокого уровня, на которых проще писать объёмный код. Такие языки необходимо компилировать для перевода на язык, который понимает машина, или запускать при помощи других программ, скомпилированных на языке машины.[2]
Наборы инструкций ПО
Опкод можно найти и в так называемом байт-коде и прочих представлениях, разработанных скорее для программных интерпретаторов, нежели чем для аппаратного обеспечения. Такое ПО основывается на наборах инструкций, чаще понемногу используя высокоуровневые типы данных и операции, чем большинство аппаратных комплектующих, но тем не менее основанных на тех же принципах. Примерами может послужить Java Virtual Machine (JVM) языка программирования Emacs для скомпилированного кода Лисп и многие другие.[3]
Примечания
См. также
- Запрещенный код операций
Wikimedia Foundation. 2010.