cover image

Maskinkode

From Wikipedia, the free encyclopedia

Maskinkode eller «maskinspråk» er et sett med instruksjoner som blir utført direkte i datamaskinens prosessor (CPU). Hver instruksjon utfører en særskilt oppgave, eksempelvis aritmetisk operasjon på en enhet med data. Hvert dataprogram som direkte blir utført av CPU består av en slik rekke med instruksjoner.[1]

Dataskjerm med disassemblatorkode, et program som analyserer en kompilert fil og reproduserer kildekoden i assemblerkode.
Ordet «Wikipedia» i binær kode.

Numerisk maskinkode (ikke assemblerkode) kan bli forstått som representasjon på laveste nivå av et kompilert og/eller assemblerprogram, eller som et primitivt og maskinvareavhengig programmeringsspråk. Mens det er teoretisk mulig å skrive programmer direkte i numerisk maskinkode er det kjedsommelig og lett å gjøre feil å håndtere de enkelte bits og kalkulere numeriske adresser og konstanter manuelt. Det er derfor gjort svært sjelden i dag, unntatt for de situasjoner som krever ekstrem optimalisering eller debugging.

Bortimot alle praktiske programmer i dag er skrevet i et høynivåspråk eller i et assemblerspråk, og deretter oversatt til maskinkode av en kompilator. Programmer i et fortolket språk[2] er imidlertid ikke oversatt til maskinkode, skjønt deres fortolker består av utførbar maskinkode (generert fra assembler og/eller høynivåspråklig kildekode).

Hver prosessor eller prosessorfamilie har sitt eget særskilte instruksjonssett av maskinkode. Instruksjoner er mønstre av bits som ved sin fysiske design tilsvarer til ulike kommandoer til maskinen. Således er instruksjonssettet særskilt til en klasse av prosessorer som benytter samme maskinarkitektur.