In informatica, un'istruzione è una singola operazione di un processore definita dal set di istruzioni del processore.
La dimensione o la lunghezza di un'istruzione varia ampiamente, da un minimo di 4 bit in alcuni microcontrollori a molti multipli di un byte in alcuni sistemi di istruzioni molto lunghe (VLIW). La maggior parte dei moderni processori utilizzati nei personal computer, mainframe e supercomputer hanno dimensioni di istruzione comprese tra 16 e 64 bit. In alcune architetture, in particolare nei computer con set di istruzioni ridotte, le istruzioni sono di lunghezza fissa, tipicamente corrispondenti alle dimensioni delle parole di quell'architettura.
Sulle architetture tradizionali, un'istruzione include un opcode che specifica l'operazione da eseguire, come "aggiungere contenuti di memoria al registro", e zero o più specificatori di operandi, che possono specificare registri, posizioni di memoria o dati letterali. Gli specificatori di operandi possono avere modalità di indirizzamento che ne determinano il significato o possono essere in campi fissi.
Nelle architetture VLIW, che includono molte architetture di microcodice, più operazioni simultanee e operandi sono specificati in un'unica istruzione.
Le istruzioni sono raramente specificate utilizzando la loro forma di codice macchina; possono essere specificate da programmatori che utilizzano un linguaggioassembly o, più comunemente, possono essere generate da compilatori.
C'è un'altra definizione più generale per una "istruzione" non solo relativa al set di istruzioni del processore, che è: Un "istruzione" può essere qualsiasi rappresentazione di un elemento di un programma per computer eseguibile.