Opcode: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
nieuw
 
Geen bewerkingssamenvatting
Regel 1:
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 de :
*opcode: 'optellen' bij een register' en zijn de
*operanden: 'EBX' en '5.'
 
De machinecode (voor [[Intel 80386|i86]]) 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. DatUit de mnemonische opcode 'ADD' blijkt namelijk dat er moet worden opgeteld, maar niet dat er bij een register moet worden opgeteld,. Dat blijkt namelijk uit 'EBX' en nietpas uit de opcodeoperand 'ADDEBX'. 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 menomischemnemnnische 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
 
[[Categorie:Instructieset]]