Opcode

Een opcode geeft aan welke basiscomputerbewerking in de instructieset moet worden uitgevoerd. Het wordt gebruikt bij het schrijven van de machinecode. Het vertelt de computer om iets te doen. Elke machinetaalinstructie heeft zowel een opcode als operanden. De opcode is als een werkwoord in een zin, en de operanden zijn als het onderwerp in een zin. Operanden zijn meestal geheugen- of registeradressen.

Op codes worden gebruikt in de machinecode voor een aantal functies, waaronder Float Toevoeging van registers, Twee's compliment toevoeging van registers, Verplaatsen van registerwaarden naar het geheugen, of naar een harde schijf, het stoppen van een programma, enz. Er zijn letterlijk honderden gangbare opcodes die in moderne computers worden gebruikt.

Door de aard van de architectuur van een computer hebben opcodes de vorm van binaire getallen. Als alternatief kunnen opcodes worden gerepresenteerd met hexadecimale cijfers (bijvoorbeeld 10100101 = A5) voor het gemak van het lezen en coderen bij het ontwerpen of emuleren van een machinecodeprogramma. Deze waarden worden dan omgezet in hun binaire equivalenten om te worden opgeslagen. Moderne opcodes zijn ten minste twee hex-tekens lang en nemen 1 byte aan opslagruimte in beslag.

Op codes zullen variëren in capaciteit en 'waarde', afhankelijk van de computer waartoe ze behoren, omdat ze afhankelijk zijn van de hardware. Zo kan de opcode voor STORE, zoals uitgedrukt in Hex, FA zijn voor de ene machine en 02 voor de andere. Sommige opcodes zullen op sommige computers niet beschikbaar zijn. In het algemeen zijn er twee benaderingen voor het bouwen van instructiesets. Een gereduceerde instructieset computer (RISC) biedt minder mogelijke opcodes ten gunste van het verhogen van de snelheid voor eenvoudige processen. Een complexe instructieset computer (CISC) biedt meer opcodes ten gunste van het verhogen van de snelheid voor complexe processen.

Op codes worden zelden direct door programmeurs gebruikt. Wanneer ze direct in het geheugen worden geprogrammeerd, werken ze alleen gegarandeerd op de computer waarvoor ze zijn ontworpen. Wanneer programmeurs in assembleertaal schrijven, zet een vertaalprogramma de programmastatements, één op één, om in machinetaalopdrachten. De programmeur moet alleen een geheugensteun onthouden voor elke opcode in plaats van de binaire waarde ervan. Als alternatief kan een programmeertaal op hoog niveau worden gebruikt, bijvoorbeeld 4e generatie, die wordt geconverteerd naar 3e generatie en zo verder tot de 1e generatie. Vanaf hier zal een individuele computer het programma omzetten naar machinecode wanneer het programmabestand wordt gelezen. Op deze manier kan een programma op een veel grotere verscheidenheid aan computers werken.


AlegsaOnline.com - 2020 / 2021 - License CC3