Машинный код: различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м откат правок 94.29.125.90 (обс) к версии Мастер теней
Строка 1:
{{эта статья|о системе команд в целом|Код операции|об инструкциях}}
'''Машинный код''' ('''платформенно-ориентированный код'''), '''машинный язык''' — [[система команд]] (набор кодов операций) конкретной [[компьютер|вычислительной машины]], которая [[интерпретатор|интерпретируется]] непосредственно [[процессор]]ом или [[микропрограмма]]ми этой вычислительной машины.<ref name="Dict">{{книга|заглавие=Толковый словарь по вычислительным системам|оригинал=Dictionary of Computing|ответственный=Под ред. В. Иллингуорта и др.: Пер. с анангл. А. К. Белоцкого и др.; Под ред. Е. К. Масловского|место={{М.}}|издательство=Машиностроение|год=1990|страниц=560|isbn=5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания)|тираж=70&nbsp;000 (доп.)}}</ref>
 
их атомарных инструкций.
Каждая инструкция выполняет определённое (обычное [[Элементарная операция|элементарное]]) действие, такое как операция с данными (например, сложение или копирование; в регистре или в памяти) или переход к другому участку кода (изменение порядка исполнения; при этом переход может быть [[Команда перехода|безусловным]] или [[Условный переход|условным]], зависящим от результатов предыдущих инструкций). Каждая [[Исполнимый модуль|исполнимая программа]] состоит из последовательности таких атомарных инструкций.
 
Машинный код можно рассматривать как примитивный [[язык программирования]] или как самый низкий уровень представления [[компилятор|скомпилированных]] или [[ассемблер|ассемблированных]] компьютерных программ. Хотя вполне возможно создавать программы прямо в машинном коде, сейчас это делается редко в силу громоздкости кода и трудоёмкости управления ресурсами процессора, за исключением ситуаций, когда требуется экстремальная [[Оптимизация (информатика)|оптимизация]]. Поэтому подавляющее большинство программ пишется на языках более высокого уровня и транслируется в машинный код компиляторами. Машинный код иногда называют '''нативным кодом''' (также '''собственным''' или '''родным кодом''' — от {{lang-en|native code}}), когда говорят о платформенно-зависимых частях языка или библиотек.<ref>{{cite web|url=http://www.developer.com/net/cplus/print.php/2197621|title=Managed, Unmanaged, Native: What Kind of Code Is This?|author=Kate Gregory.|date=28 апреля 2003|accessdate=2012-03-27|archiveurl=http://www.webcitation.org/68313Lm0E|archivedate=2012-05-30}}</ref>