En instruktionsmnemonic er en menneskelæselig forkortelse for en instruktion, mens en opcode er maskinkoderepræsentationen af den instruktion. For eksempel kan instruktionen mnemonic 'ADD' have en opkode på '0x01'.
Instruktionsmnemonics er defineret af instruktionssætarkitekturen (ISA) for en bestemt processor. Dette betyder, at den samme instruktionsmnemonic kan have forskellige opkoder på forskellige processorer. For eksempel kan `ADD`-instruktionen have opcode `0x01` på én processor og opcode `0x02` på en anden processor.
Opkoder er typisk kodet i binær form, men de kan også være repræsenteret i andre formater, såsom hexadecimal eller decimal. Størrelsen af en opcode afhænger af ISA'en for den pågældende processor. For eksempel kan opkoder på nogle processorer være 8 bit lange, mens de på andre processorer kan være 16 bit eller 32 bit lange.
Forholdet mellem instruktionsmnemonics og opkoder svarer til forholdet mellem funktionsnavne og funktionsadresser i et programmeringssprog. Ligesom et funktionsnavn kan bruges til at referere til en funktion på en menneskelig læsbar måde, kan en instruktionsmnemonik bruges til at henvise til en instruktion på en menneskelig læsbar måde. Når en instruktionsmnemonic bruges i et assemblersprogsprogram, vil assembleren oversætte den til den tilsvarende opcode, før den genererer maskinkoden til programmet.