Codice macchina (linguaggio macchina)

Il codice macchina, noto anche come linguaggio macchina, è il linguaggio elementare dei computer. Viene letto dall'unità di elaborazione centrale (CPU) del computer, è composto da numeri binari digitali e si presenta come una sequenza molto lunga di zero 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 da un interprete, perché il codice binario è l'unico linguaggio che l'hardware del computer può comprendere.

Ogni CPU ha il proprio linguaggio macchina specifico. Il processore legge e gestisce le istruzioni, che dicono alla CPU di eseguire un'operazione semplice. Le istruzioni sono composte da un certo numero di bit. Se le istruzioni per un particolare processore sono 8 bit, ad esempio, la prima parte a 4 bit (il codice operativo) dice al computer cosa fare e la seconda a 4 bit (l'operando) dice al computer quali dati usare.

01001000 01100101 01101100 01101100 01101111 00100001

A seconda del processore, i set di istruzioni di un computer possono avere tutti la stessa lunghezza o possono variare, a seconda dell'istruzione specifica. 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 non mai, si occupano più direttamente del codice macchina. Se gli sviluppatori eseguono il debug di un programma a un livello basso, potrebbero utilizzare una stampa che mostra il programma nella sua forma di codice macchina. La stampa, che si chiama dump, è molto difficile e funziona 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 è stato avviato il dump .