Opkód

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Opkód (z anglického opcode jako kalková zkratka z operační kód) je v rámci strojového kódu ta část strojové instrukce, která určuje prováděnou operaci, tedy ta část, která neurčuje operandy. Opkódy jednotlivých instrukcí jsou specifické pro danou instrukční sadu. Podobně jako na fyzických procesorech přitom fungují opkódy také v bajtkódu na virtuálních strojích.

V jazyce symbolických adres odpovídají opkódům krátká mnemotechnická slova typicky vzniklá jako zkratky z anglického popisu funkce dané instrukce.

Příklady

Instrukce pro sčítání mívá zkratku add (z anglického ) či jí podobnou. Na platformě x86 je jejím opkódem bajt o hodnotě 0xD5 (zapsáno v šestnáctkové soustavě).

Nulová operace mívá nejčastěji zkratku nop z anglického . Na platformě x86 je jejím opkódem bajt o hodnotě 0x80. +more Na platformě Z80 je jejím opkódem 0x00. Ani v jednom případě nemá instrukce žádné parametry, tedy opkód je její jediná část. Na platformě RISC-V instrukce nop nemá vlastní opkód, neboť je tato zkratka jen překládána na addi x0, x0, 0, tedy sčítací instrukci, která má za úkol přičíst nulu do speciálního virtuálního registru, jehož hodnota je vždy rovna nule - tedy ve skutečnosti neudělá nic.

Platforma ARM má proměnlivou délku opkódu 4-8 bitů (přičemž chování některých instrukcí je ještě určeno dalšími doplňujícími bity, které nejsou považovány za operandy).

Nedefinované opkódy

Jednotlivé instrukce mají své opkódy, tedy číselné hodnoty, ale zejména v historických instrukčních sadách byly některé číselné hodnoty, které nebyly opkódem žádné instrukce. Pokud procesor narazí při zpracování na takový opkód, dochází k výjimce, obvykle ve formě přerušení neplatný opkód.

Odkazy

Reference

Externí odkazy

Kategorie:Strojový kód

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top