Il codice macchina, conosciuto anche come linguaggio macchina, è il linguaggio elementare dei computer. Viene letto dall’unità di elaborazione centrale del computer (CPU), è composto da numeri binari digitali e si presenta come una lunghissima sequenza di zeri e uno. In definitiva, il codice sorgente di ogni linguaggio di programmazione leggibile dall’uomo deve essere tradotto in linguaggio macchina da un compilatore o un interprete, perché il codice è l’unico linguaggio che l’hardware del computer può capire.
Ogni CPU ha il suo specifico linguaggio macchina. Il processore legge e gestisce le istruzioni, che dicono alla CPU di eseguire un compito semplice. Le istruzioni sono composte da un certo numero di bit. Se le istruzioni per un particolare processore sono di 8 bit, per esempio, la prima parte di 4 bit (l’opcode) dice al computer cosa fare e i secondi 4 bit (l’operando) dicono al computer quali dati usare.
01001000 01100101 01101100 01101100 01101111 00100001
A seconda del processore, i set di istruzioni di un computer possono essere tutti della stessa lunghezza, o possono variare, a seconda della specifica istruzione. L’architettura del particolare processore determina il modo in cui le istruzioni sono strutturate. L’esecuzione delle istruzioni è controllata dal firmware o dal cablaggio interno della CPU.
I programmatori umani raramente, se mai, hanno a che fare direttamente con il codice macchina. Se gli sviluppatori stanno facendo il debug di un programma a basso livello, potrebbero usare una stampa che mostra il programma nella sua forma di codice macchina. La stampa, che è chiamata dump, è molto difficile e per lavorare con uno strumento chiamato dump. I programmi di utilità usati per creare i dump spesso rappresentano quattro bit con un singolo esadecimale per rendere il codice macchina più facile da leggere e contengono altre informazioni sul funzionamento del computer, come l’indirizzo dell’istruzione che era in esecuzione al momento in cui il dump è stato avviato.