Код операции

Поделись знанием:
Перейти к: навигация, поиск

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

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

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



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

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

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

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

Напишите отзыв о статье "Код операции"

Примечания

  1. [www.atariarchives.org/mlb/introduction.php Machine Language For Beginners — Introduction]
  2. [www.swansontec.com/sprogram.htm Introduction to Assembly Language]
  3. [www.pcmag.com/encyclopedia_term/0,2542,t=bytecode&i=39108,00.asp Bytecode Definition from PC Magazine Encyclopedia]

Отрывок, характеризующий Код операции


На другой день после отъезда сына князь Николай Андреич позвал к себе княжну Марью.
– Ну что, довольна теперь? – сказал он ей, – поссорила с сыном! Довольна? Тебе только и нужно было! Довольна?.. Мне это больно, больно. Я стар и слаб, и тебе этого хотелось. Ну радуйся, радуйся… – И после этого княжна Марья в продолжение недели не видала своего отца. Он был болен и не выходил из кабинета.
К удивлению своему, княжна Марья заметила, что за это время болезни старый князь так же не допускал к себе и m lle Bourienne. Один Тихон ходил за ним.
Через неделю князь вышел и начал опять прежнюю жизнь, с особенной деятельностью занимаясь постройками и садами и прекратив все прежние отношения с m lle Bourienne. Вид его и холодный тон с княжной Марьей как будто говорил ей: «Вот видишь, ты выдумала на меня налгала князю Андрею про отношения мои с этой француженкой и поссорила меня с ним; а ты видишь, что мне не нужны ни ты, ни француженка».
Одну половину дня княжна Марья проводила у Николушки, следя за его уроками, сама давала ему уроки русского языка и музыки, и разговаривая с Десалем; другую часть дня она проводила в своей половине с книгами, старухой няней и с божьими людьми, которые иногда с заднего крыльца приходили к ней.
О войне княжна Марья думала так, как думают о войне женщины. Она боялась за брата, который был там, ужасалась, не понимая ее, перед людской жестокостью, заставлявшей их убивать друг друга; но не понимала значения этой войны, казавшейся ей такою же, как и все прежние войны. Она не понимала значения этой войны, несмотря на то, что Десаль, ее постоянный собеседник, страстно интересовавшийся ходом войны, старался ей растолковать свои соображения, и несмотря на то, что приходившие к ней божьи люди все по своему с ужасом говорили о народных слухах про нашествие антихриста, и несмотря на то, что Жюли, теперь княгиня Друбецкая, опять вступившая с ней в переписку, писала ей из Москвы патриотические письма.
«Я вам пишу по русски, мой добрый друг, – писала Жюли, – потому что я имею ненависть ко всем французам, равно и к языку их, который я не могу слышать говорить… Мы в Москве все восторжены через энтузиазм к нашему обожаемому императору.
Бедный муж мой переносит труды и голод в жидовских корчмах; но новости, которые я имею, еще более воодушевляют меня.
Вы слышали, верно, о героическом подвиге Раевского, обнявшего двух сыновей и сказавшего: «Погибну с ними, но не поколеблемся!И действительно, хотя неприятель был вдвое сильнее нас, мы не колебнулись. Мы проводим время, как можем; но на войне, как на войне. Княжна Алина и Sophie сидят со мною целые дни, и мы, несчастные вдовы живых мужей, за корпией делаем прекрасные разговоры; только вас, мой друг, недостает… и т. д.