Машинный код
Машинный код (также употребляются термины собственный код, или платформенно-ориентированный код, или родной код, или нативный код — от англ. native code) — система команд (язык) конкретной вычислительной машины (машинный язык), которая интерпретируется непосредственно микропроцессором или микропрограммами данной вычислительной машины.
Каждая модель процессора имеет свой собственный машинный язык, хотя во многих моделях эти наборы команд сильно перекрываются. Говорят, что процессор A совместим с процессором B, если процессор A полностью «понимает» машинный код процессора B. Если процессор A знает несколько команд, которых не понимает процессор B, то B несовместим с A.
«Слова» машинного языка называются машинными инструкциями. Каждая из них описывает элементарное действие, выполняемое процессором, такое как «переслать байт из памяти в регистр». Программа — это просто длинный список инструкций, выполняемых процессором. Раньше процессоры просто выполняли инструкции одну за другой, но новые суперскалярные процессоры способны выполнять несколько инструкций за раз. Прямой поток выполнения команд может быть изменён инструкцией перехода, которая переносит выполнение на инструкцию с заданным адресом. Инструкция перехода может быть условной, выполняющей переход только при соблюдении некоторого условия.
Также инструкции бывают постоянной длины (у RISC, MISC-архитектур) и диапазонной (у CISC-архитектур; например, для архитектуры x86 команда имеет длину от 8 до 120 битов).
Программа «Hello, World!»
Программа «Hello, World!» для процессора архитектуры x86 выглядит следующим образом (в шестнадцатеричном представлении побайтово):
- BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
| Комментарии к программе |
|---|
| Отдельными цветами выделены отдельные команды. Данная программа работает при размещении её с адреса XXXX:0100 (для размещения с адреса XXXX:0000 следует изменить BB 11 01 на BB 11 00) |
См. также
| Компьютер | Это незавершённая статья о компьютерах. Вы можете помочь проекту, исправив и дополнив её. |
| Информатика | Это незавершённая статья по информатике. Вы можете помочь проекту, исправив и дополнив её. |
ar:لغة الآلة
bg:Машинен език
bn:যান্ত্রিক ভাষা
br:Areg ijinenn
bs:Mašinski jezik
ca:Llenguatge de màquina
cs:Strojový kód
da:Maskinkode
de:Maschinensprache
el:Γλώσσα μηχανής
en:Machine code
eo:Maŝinkodo
es:Lenguaje de máquina
et:Masinkood
fa:زبان ماشین
fi:Konekieli
fr:Langage machine
gl:Código máquina
he:שפת מכונה
hi:मशीनी भाषा
hr:Strojni jezik
hsb:Mašinowa rěč
hu:Gépi kód
id:Bahasa mesin
is:Vélamál
it:Linguaggio macchina
ja:機械語
ko:기계어
lt:Mašininis kodas (programavimas)
ml:യന്ത്രഭാഷ
mn:Машин код
nl:Machinetaal
no:Maskinkode
pl:Język maszynowy
pt:Código de máquina
simple:Machine code
sk:Strojový kód
sl:Strojna koda
sv:Maskinkod
th:ภาษาเครื่อง
tr:Makine dili
uk:Машинний код
ur:آلاتی زبان
vi:Ngôn ngữ máy
zh:机器语言
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....