Een instructie-ezelsbruggetje is een door mensen leesbare afkorting voor een instructie, terwijl een opcode de machinecoderepresentatie van die instructie is. Het instructie-ezelsbruggetje 'ADD' kan bijvoorbeeld de opcode '0x01' hebben.
Instructie-ezelsbruggetjes worden gedefinieerd door de instructiesetarchitectuur (ISA) voor een bepaalde processor. Dit betekent dat dezelfde instructie-mnemotechniek verschillende opcodes op verschillende processors kan hebben. De instructie `ADD` kan bijvoorbeeld opcode `0x01` op de ene processor hebben en opcode `0x02` op een andere processor.
Opcodes worden doorgaans gecodeerd in binaire vorm, maar ze kunnen ook in andere formaten worden weergegeven, zoals hexadecimaal of decimaal. De grootte van een opcode hangt af van de ISA voor de betreffende processor. Op sommige processors kunnen opcodes bijvoorbeeld 8 bits lang zijn, terwijl ze op andere processors 16 bits of 32 bits lang kunnen zijn.
De relatie tussen instructie-ezelsbruggetjes en opcodes is vergelijkbaar met de relatie tussen functienamen en functieadressen in een programmeertaal. Net zoals een functienaam kan worden gebruikt om op een voor mensen leesbare manier naar een functie te verwijzen, kan een instructie-ezelsbruggetje worden gebruikt om op een voor mensen leesbare manier naar een instructie te verwijzen. Wanneer een instructie-ezelsbruggetje wordt gebruikt in een assembleertaalprogramma, zal de assembler dit vertalen naar de overeenkomstige opcode voordat de machinecode voor het programma wordt gegenereerd. |