Opcode

Een opcode (een afkorting van operation code) is een deel van een instructie aan een computer die aangeeft welke bewerking uitgevoerd moet worden.

Een instructie die door een computer wordt uitgevoerd, bestaat meestal uit twee delen: de opcode en de operanden. Er zijn twee soorten opcodes: in de machinetaal en in de assembleertaal. De laatste worden mnemonische opcodes genoemd.

Luidt de instructie bijvoorbeeld dat er vijf moet worden opgeteld bij register EBX, dan is:

  • opcode: 'optellen bij een register'
  • operanden: 'EBX' en '5'

De machinecode (voor 32-bits x86) van deze instructie is 83C305. De opcode is 83C, het register EBX wordt aangeduid met 3 en de bij te tellen waarde is 05.

De assemblerinstructie is:

ADD EBX,5

Hierin is ADD de mnemonische opcode.

In het gegeven voorbeeld komen de opcodes niet precies met elkaar overeen. Uit de mnemonische opcode 'ADD' blijkt namelijk dat er moet worden opgeteld, maar niet dat er bij een register moet worden opgeteld. Dat blijkt pas uit de operand 'EBX'. Er zijn assembleertalen waarin er wel een directe een-op-eenrelatie is tussen de opcode in de machinetaal en de mnemonische opcode. Zo maakt de assembleertaal van de IBM 360 onderscheid tussen de mnemnnische opcodes 'A' (optellen van waarde in het geheugen) en 'AR' (optellen van waarde uit register). De assemblerinstructies zijn:

A  4,8 Tel de inhoud van adres 8 op bij register 4
AR 4,8 Tel de inhoud van register 8 op bij register 4

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy