Opcode
Opcode určuje, která základní počítačová operace ze sady instrukcí má být provedena. Používá se při zápisu strojového kódu. Říká počítači, aby něco provedl. Každá instrukce strojového jazyka má obvykle opkód i operandy. Opkód je jako sloveso ve větě a operandy jsou jako podmět ve větě. Operandy jsou obvykle adresy paměti nebo registrů.
Opční kódy se ve strojovém kódu používají pro řadu funkcí, včetně sčítání registrů v plovoucím tvaru, sčítání registrů ve dvou, přesouvání hodnot registrů do paměti nebo na pevný disk, zastavení programu atd. V moderních počítačích se používají doslova stovky běžných opcodes.
Vzhledem k povaze architektury počítače mají operační kódy podobu binárních čísel. Alternativně mohou být opční kódy reprezentovány hexadecimálními číslicemi (například 10100101 = A5) pro snadnější čtení a kódování při návrhu nebo emulaci programu se strojovým kódem. Tyto hodnoty se pak transformují na své binární ekvivalenty, které se uloží. Moderní operační kódy mají délku nejméně dvou hexadecimálních znaků, které zabírají 1 bajt úložného prostoru.
Opční kódy se liší schopnostmi a "hodnotou" v závislosti na počítači, ke kterému patří, protože jsou hardwarově závislé. Například opkód pro STORE vyjádřený v hexadecimálním tvaru může být FA pro jeden počítač a 02 pro jiný. Některé opkódy nebudou na některých počítačích k dispozici. Obecně existují dva přístupy k sestavování instrukčních sad. Počítač s redukovanou instrukční sadou (RISC) nabízí méně možných opkódů ve prospěch zvýšení rychlosti pro jednoduché procesy. Počítač se složitou instrukční sadou (CISC) nabízí více opkódů ve prospěch zvýšení rychlosti pro složité procesy.
Programátoři zřídkakdy používají přímo operační kódy. Kdykoli jsou přímo naprogramovány do paměti, je vždy zaručeno, že budou fungovat pouze na počítači, pro který byly navrženy. Když programátoři píší v assembleru, překládací program převádí programové příkazy jedna ku jedné na příkazy strojového jazyka. Programátor si musí pamatovat pouze mnemotechnické označení každého opkódu místo jeho binární hodnoty. Alternativně lze použít programovací jazyk vysoké úrovně, řekněme 4. generace, který se převede na 3. generaci a tak dále, až se dospěje k 1. generaci. Odtud bude jednotlivý počítač převádět program do strojového kódu při každém čtení programového souboru. Tímto způsobem může program pracovat na mnohem větší škále počítačů.
Otázky a odpovědi
Otázka: Co je to opcode?
A: Opcode je binární číslo, které určuje, která základní operace počítače v sadě instrukcí má být provedena. Používá se při psaní strojového kódu a říká počítači, co má dělat.
Otázka: Co jsou to operandy?
Odpověď: Operandy jsou obvykle adresy paměti nebo registrů, které doprovázejí opkód v instrukci strojového jazyka. Lze si je představit jako podmět věty, zatímco opkód funguje jako sloveso.
Otázka: Kolik běžných operačních kódů se používá v moderních počítačích?
Odpověď: V moderních počítačích se používají stovky běžných opkódů.
Otázka: Jak jsou opkódy reprezentovány?
Odpověď: Opční kódy mohou být reprezentovány buď binárními čísly, nebo hexadecimálními číslicemi pro snadnější čtení a kódování při návrhu nebo emulaci programu se strojovým kódem.
Otázka: Jak dlouhé jsou moderní opkódy?
A: Moderní opcodes jsou dlouhé nejméně dva hexadecimální znaky a zabírají 1 bajt paměťového prostoru.
Otázka: Co je to RISC a CISC?
Odpověď: Výpočet s redukovanou sadou instrukcí (RISC) nabízí méně možných opkódů ve prospěch zvýšení rychlosti pro jednoduché procesy, zatímco výpočet s komplexní sadou instrukcí (CISC) nabízí více opkódů ve prospěch zvýšení rychlosti pro složité procesy.
Otázka: Jak programátoři obvykle používají opkódy?
Odpověď: Programátoři zřídkakdy používají přímé programování do paměti se specifickou sadou instrukcí pro jednotlivé počítače; místo toho píší programy pomocí jazyka assembleru nebo vysokoúrovňových programovacích jazyků, které se při každém čtení souboru programu převedou do strojového kódu, aby mohly fungovat na více typech počítačů.