Código máquina
Código máquina é a semi-tradución de machine code (=código da máquina): unha restra de códigos (palabras) que está escrita na linguaxe de máquinas e polo tanto que pode ser comprendida directamente pola CPU dunha computadora.
Formalmente, pódese definir o Código máquina como o sistema de códigos directamente interpretable por un circuíto microprogramable, como a CPU dun ordenador ou o microcontrolador dun autómata (un PLC) . Este código consta dun conxunto de instrucións que determinan as accións a ser tomadas pola máquina. Un programa de computador consiste nunha cadea destas instrucións de linguaxe de máquina (máis os datos). Estas instrucións son normalmente executadas en secuencia, con eventuais cambios de fluxo causados polo propio programa ou eventos externos. O código máquina é específico de cada máquina ou arquitectura da máquina, aínda que o conxunto de instrucións dispoñibles poida ser similar entre elas.
Cada palabra ou código correspóndese cunha instrución que a CPU efectúa fisicamente e ten asignado un número. Se a lonxitude destes números nun código máquina dado, no sistema de numeración binario, é de 1 byte, dise que este código máquina é un bytecode.
Exemplo
editarNesta captura do DOS co debug aberto pódese ver o programa "v.exe". Á esquerda preséntanse os enderezos de memoria (segmento:offset), ao centro o código en hexadecimal e á dereita como sería o texto en ASCII (presentándose cun "." aqueles valores que non corresponden a letras, números ou signos de puntuación):
C:\Utility>debug v.exe -d 0 100 0E3D:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 F0 07 8A 03 . ........O..... 0E3D:0010 F0 07 17 03 F0 07 DF 07-01 01 01 00 02 FF FF FF ................ 0E3D:0020 FF FF FF FF FF FF FF FF-FF FF FF FF BD 0D 4C 01 ..............L. 0E3D:0030 D0 0C 14 00 18 00 3D 0E-FF FF FF FF 00 00 00 00 ......=......... 0E3D:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 0E3D:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20 .!........... 0E3D:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20 ..... 0E3D:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00 ........ 0E3D:0080 00 0D 76 2E 65 78 65 0D-44 4F 57 53 5C 73 79 73 ..v.exe.DOWS\sys 0E3D:0090 74 65 6D 33 32 5C 64 6F-73 78 0D 0D 64 61 20 72 tem32\dosx..da r 0E3D:00A0 65 64 65 20 28 63 61 72-72 65 67 61 72 20 61 6E ede (carregar an 0E3D:00B0 74 65 73 20 64 6F 20 64-6F 73 78 2E 65 78 65 29 tes do dosx.exe)