Microcode is programmacode die door een CPU wordt uitgevoerd en die machinetaal interpreteert.

Een CPU die microcode gebruikt (zoals Intels x86 serie) voert machinetaal niet direct in de hardware uit. In plaats daarvan wordt de machinetaal geïnterpreteerd door een microcodeprogramma, dat op zijn beurt wel direct door de hardware uitgevoerd wordt.

Microcode wordt vooral gebruikt in processors die veel en complexe instructies hebben (CISC-processors). Het decoderen en uitvoeren van instructies is bij deze processors te complex om in de hardware te implementeren.

Microcode bevindt zich, in tegenstelling tot alle andere soorten programmacode (inclusief machinetaal), niet in het hoofdgeheugen, maar in een speciaal geheugen op de processor zelf. Dit geheugen, de control store, is bij een microprocessor meestal read-only, maar dat is niet noodzakelijk zo: soms wordt microcode tijdens het opstarten van de computer vanuit een andere locatie in de control-store geladen. Dit maakt het mogelijk om bugs te repareren of om nieuwe instructies aan de instructieset van de CPU toe te voegen.
Ook is het mogelijk met het vervangen van de microcode een andere computer te emuleren. Zo kan een Univac-computer een Philips-computer emuleren en dus programma's draaien die voor de Philips geschreven zijn.

Andere betekenis
Een andere betekenis van microcode wordt gehanteerd bij sommige instructiesets, zoals de PDP-8. In een instructie zorgen diverse bits ervoor dat bewerkingen worden uitgevoerd, en desnoods kunnen meerdere bits in dezelfde instructie gezet zijn. Bijvoorbeeld:

Computerprocessor
Firmware