Код операции

редактировать
Часть машинной инструкции

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

Содержание
  • 1 Обзор
    • 1.1 Операнды
  • 2 Наборы программных команд
  • 3 См. Также
  • 4 Ссылки
  • 5 Дополнительная литература
Обзор

Технические характеристики и Формат кодов операций изложен в архитектуре набора команд (ISA ) рассматриваемого процессора, который может быть общим CPU или более специализированным процессором. Коды операций для данного набора команд могут быть описаны с помощью таблицы кодов операций , в которой подробно описаны все возможные байты кода операции. Помимо самого кода операции, инструкция обычно также имеет один или несколько спецификаторов для операндов (т. Е. Данных), на которые должна воздействовать операция, хотя некоторые операции могут иметь неявные операнды или вообще не иметь. Существуют наборы инструкций с почти одинаковыми полями для спецификаторов кода операции и операндов, а также другие (например, архитектура x86 ) с более сложной структурой переменной длины. Наборы команд могут быть расширены за счет добавления подмножества новых инструкций, состоящих из существующих кодов операций, следующих за зарезервированными последовательностями байтов.

Операнды

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

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

Наборы программных инструкций

Коды операций также можно найти в так называемых байтовых кодах и других представлениях, предназначенных для программного интерпретатора, а не для аппаратного устройства. Эти программные наборы команд часто используют типы данных и операции несколько более высокого уровня, чем большинство аппаратных аналогов, но, тем не менее, построены по аналогичным принципам. Примеры включают байтовый код, найденный в файлах классов Java, которые затем интерпретируются виртуальной машиной Java (JVM), байтовый код, используемый в GNU Emacs для компиляции Код LISP,.NET Common Intermediate Language (CIL) и многие другие.

См. Также
  • icon Портал компьютерного программирования
Ссылки
Дополнительная литература
Последняя правка сделана 2021-06-01 12:33:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте