OpkódAz opkód (opcode) operációkód, azaz műveleti kód, vagy műveleti jelkód, utasításkészletek leírásában műveleti jelrész. A CPU által beolvasott bináris szám, amit végrehajtható utasítás kódjaként értelmez. Architektúránként eltérő értékei és méretei vannak. Az opkódokból összeálló programot ebben a formában „gépi kódnak” is nevezzük, mert a CPU (a „gép”) számára közvetlenül érthető. Elvileg ebben a formában bevihető lenne a programozó számára, de ehhez minden opkód számértékét és egyéb információkat fejből kellene tudni, ami nagyon bonyolult lenne (régebben azonban valóban így történt a dolog, igazi mérnöki pulton pötyögték be a programokat „igazi programozók”). Ezért találták ki a programozási nyelveket. „Legegyszerűbb” talán az assembly, ahol az opkódok számértéke helyett egyezményes rövidítéseket, ún. mnemonikokat használunk, de gyakorlatilag majdnem 1:1 leképezés van a gépi kód és az assembly forrás között.
A leggyakoribb opkód a AssemblyAz assembly nyelv, vagy csak assembly, egy alacsony szintű programozási nyelv, mely mnemonikokat (programozásban jártas ember által értelmezhető, könnyen megjegyezhető utasításjelöléseket), utasításokat és operandusokat használ, hogy reprezentálja a gépi kódot. Ezzel javítható az olvashatóság, és precíz kontrollt biztosít a gépi utasításkészlet felett. A legtöbb programozási munkát ma már magas szintű programozási nyelven végzik,[1][2] melyek tipikusan könnyebben olvashatók és írhatók. Ezeket a nyelveket le kell fordítani gépi kódra, vagy keresztül kell futtatni más, már lefordított programon.[3] Szoftveres utasításkészletekOpkódoknak nevezzük azokat a bájtkódokat és más reprezentációkat, amiket hardvereszköz helyett szoftveres értelmező olvas be. Ezek a szoftveres utasításkészletek általában némileg magasabb szintű adattípusokat és műveleteket használnak hardveres rokonaiknál, de hasonló célok mentén tervezik őket. Példa erre a Java programozási nyelv JVM virtuális gépében használt Java bájtkód, a GNU Emacs lefordított LISP kódjának bájtkódja, a .NET Common Intermediate Language (CIL) és még sok hasonló.[4] Opkódnak nevezik a DNS-ben alkalmazott utasításkódokat is. Jegyzetek
|