OP-kod

En opkod identifierar vilken grundläggande datoroperation i instruktionsuppsättningen som ska utföras. Den används när man skriver maskinkod. Den talar om för datorn att göra något. Varje maskinspråksinstruktion har vanligtvis både en opkod och operander. Opkoden är som ett verb i en mening och operanderna är som subjektet i en mening. Operanderna är vanligtvis minnes- eller registeradresser.

Opcodes används i maskinkod för ett antal funktioner, inklusive floataddition av register, tvåsummad addition av register, flyttning av registervärden till minnet eller till en hårddisk, stopp av ett program osv. Det finns bokstavligen hundratals vanliga opkoder som används i moderna datorer.

På grund av datorarkitekturen har opkoder formen av binära tal. Alternativt kan opkoder representeras av hexadecimala siffror (t.ex. 10100101 = A5) för att underlätta läsning och kodning när man utformar eller emulerar ett maskinkodprogram. Dessa värden omvandlas sedan till sina binära motsvarigheter för att sparas. Moderna opkoder är minst två hexadikala tecken långa och tar upp 1 byte av lagringsutrymme.

Opcodes varierar i kapacitet och "värde" beroende på vilken dator de tillhör, eftersom de är beroende av hårdvaran. Exempelvis kan opkoden för STORE, uttryckt i hexadikten, vara FA för en maskin och 02 för en annan. Vissa opkoder kommer inte att vara tillgängliga på vissa datorer. I allmänhet finns det två tillvägagångssätt för att bygga instruktionsuppsättningar. En RISC-dator med reducerad instruktionsuppsättning (reduced instruction set computer) erbjuder färre möjliga opkoder till förmån för ökad hastighet för enkla processer. Komplexa instruktionsuppsättningsdatorer (CISC) erbjuder fler opkoder till förmån för ökad hastighet för komplexa processer.

Opcodes används sällan direkt av programmerare. När de direkt programmeras in i minnet är det bara garanterat att de fungerar på den dator som de är avsedda för. När programmerare skriver i assemblerspråk omvandlar ett översättarprogram programförklaringar, en för en, till kommandon på maskinspråk. Programmeraren behöver bara komma ihåg en mnemonisk beteckning för varje opkod i stället för dess binära värde. Alternativt kan man använda ett programmeringsspråk på hög nivå, till exempel fjärde generationen, som omvandlas till tredje generationen och så vidare tills det når första generationen. Härifrån omvandlar en enskild dator programmet till maskinkod när programfilen läses. På detta sätt kan ett program fungera på ett mycket större antal datorer.

Frågor och svar

Fråga: Vad är en opcode?


S: En opcode är ett binärt tal som anger vilken grundläggande datoroperation i instruktionsuppsättningen som ska utföras. Det används när man skriver maskinkod och talar om för datorn vad den ska göra.

F: Vad är operander?


S: Operanderna är vanligtvis minnes- eller registeradresser som åtföljer en operativ kod i en maskinspråksinstruktion. De kan ses som subjektet i en mening, medan opkoden fungerar som ett verb.

F: Hur många vanliga opkoder används i moderna datorer?


S: Det finns hundratals vanliga opkoder som används i moderna datorer.

F: Hur representeras opkoder?


S: Opkoder kan representeras av antingen binära tal eller hexadecimala siffror för att underlätta läsning och kodning när man utformar eller emulerar ett program med maskinkod.

F: Hur långa är moderna opkoder?


S: Moderna opkoder är minst två hexadecimala tecken långa och tar upp 1 byte av lagringsutrymme.

F: Vad är RISC och CISC?


Svar: RISC (Reduced Instruction Set Computing) erbjuder färre möjliga opkoder för att öka hastigheten för enkla processer, medan CISC (Complex Instruction Set Computing) erbjuder fler opkoder för att öka hastigheten för komplexa processer.

F: Hur använder programmerare vanligtvis opkoder?


S: Programmerare använder sig sällan av direktprogrammering i minnet med en enskild dators specifika uppsättning instruktioner, utan skriver program med hjälp av assembleringsspråk eller högnivåprogramspråk som omvandlas till maskinkod när programfilen läses så att den kan fungera på flera olika typer av datorer.

AlegsaOnline.com - 2020 / 2023 - License CC3