Ένας κωδικός λειτουργίας προσδιορίζει ποια βασική λειτουργία του υπολογιστή στο σύνολο εντολών πρόκειται να εκτελεστεί. Χρησιμοποιείται κατά τη συγγραφή κώδικα μηχανής. Λέει στον υπολογιστή να κάνει κάτι. Κάθε εντολή γλώσσας μηχανής έχει συνήθως έναν κωδικό λειτουργίας και τελεστές. Ο opcode είναι σαν ρήμα σε μια πρόταση και οι τελεστές είναι σαν το υποκείμενο σε μια πρόταση. Οι τελεστές είναι συνήθως διευθύνσεις μνήμης ή μητρώου.

Οι κώδικες λειτουργίας χρησιμοποιούνται στον κώδικα μηχανής για διάφορες λειτουργίες, όπως η πρόσθεση καταχωρητών με float, η πρόσθεση καταχωρητών με δυάδες, η μετατόπιση τιμών καταχωρητών στη μνήμη ή στο σκληρό δίσκο, η διακοπή ενός προγράμματος κ.λπ. Υπάρχουν κυριολεκτικά εκατοντάδες κοινοί κώδικες λειτουργίας που χρησιμοποιούνται στους σύγχρονους υπολογιστές.

Λόγω της φύσης της αρχιτεκτονικής ενός υπολογιστή, οι κωδικοί λειτουργίας έχουν τη μορφή δυαδικών αριθμών. Εναλλακτικά, οι κωδικοί λειτουργίας μπορούν να αναπαρασταθούν με δεκαεξαδικά ψηφία, (για παράδειγμα, 10100101 = A5) για ευκολία ανάγνωσης και κωδικοποίησης κατά το σχεδιασμό ή την εξομοίωση ενός προγράμματος με κώδικα μηχανής. Οι τιμές αυτές μετατρέπονται στη συνέχεια σε δυαδικές ισοδύναμες για να αποθηκευτούν. Οι σύγχρονοι κωδικοί λειτουργίας έχουν μήκος τουλάχιστον δύο δεκαεξαδικούς χαρακτήρες, οι οποίοι καταλαμβάνουν 1 byte αποθηκευτικού χώρου.

Οι κωδικοί λειτουργίας διαφέρουν σε δυνατότητες και "αξία" ανάλογα με τον υπολογιστή στον οποίο ανήκουν, καθώς εξαρτώνται από το υλικό. Για παράδειγµα, ο opcode για STORE όπως εκφράζεται σε Hex µπορεί να είναι FA για ένα µηχάνηµα και 02 για ένα άλλο. Ορισμένοι κωδικοί λειτουργίας δεν θα είναι διαθέσιμοι σε ορισμένους υπολογιστές. Γενικά, υπάρχουν δύο προσεγγίσεις για την κατασκευή συνόλων εντολών. Ένας υπολογιστής μειωμένου συνόλου εντολών (RISC) προσφέρει λιγότερους δυνατούς κωδικούς εντολών υπέρ της αύξησης της ταχύτητας για απλές διεργασίες. Ο υπολογιστής σύνθετου συνόλου εντολών (CISC) προσφέρει περισσότερους κωδικούς εντολών υπέρ της αύξησης της ταχύτητας για σύνθετες διεργασίες.

Οι κωδικοί λειτουργίας σπάνια χρησιμοποιούνται άμεσα από τους προγραμματιστές. Όποτε προγραμματίζονται απευθείας στη μνήμη, είναι πάντα εγγυημένο ότι θα λειτουργούν μόνο στον υπολογιστή για τον οποίο σχεδιάστηκαν. Όταν οι προγραμματιστές γράφουν σε γλώσσα assembly, ένα πρόγραμμα μεταφραστή μετατρέπει τις εντολές του προγράμματος, μία προς μία, σε εντολές γλώσσας μηχανής. Ο προγραμματιστής πρέπει να θυμάται μόνο ένα μνημονικό για κάθε opcode αντί για τη δυαδική του τιμή. Εναλλακτικά, μπορεί να χρησιμοποιηθεί μια γλώσσα προγραμματισμού υψηλού επιπέδου, ας πούμε 4ης γενιάς, η οποία μετατρέπεται σε 3ης γενιάς και ούτω καθεξής μέχρι να φτάσει στην 1η γενιά. Από εδώ και πέρα, ένας μεμονωμένος υπολογιστής θα μετατρέπει το πρόγραμμα σε κώδικα μηχανής κάθε φορά που διαβάζεται το αρχείο του προγράμματος. Με αυτόν τον τρόπο, ένα πρόγραμμα μπορεί να λειτουργήσει σε πολύ μεγαλύτερη ποικιλία υπολογιστών.