Vsak CPE je od začetka zasnovan tako, da podpira določen nabor navodil. Nabor navodil je nabor trdo kodiranih operacij, ki jih lahko izvaja CPE. Te operacije so lahko na primer seštevanje dveh števil, skok na drug del programa ali primerjava dveh vrednosti. Vsaka operacija, ki jo lahko izvede računalnik, je edinstveno predstavljena z operacijsko kodo.
Opcodes
Pri izvajanju programa CPE uporablja programski števec, da sledi, katero navodilo je treba izvesti naslednje. Ko je navodilo pridobljeno, se programski števec poveča za dolžino ukaza, tako da kaže na začetek naslednjega ukaza. Vsako navodilo je sestavljeno iz opcode. Odvisno od navodil lahko vključuje ali ne vključuje operandov. Operandi so lahko konstantna vrednost ali kazalec na lokacijo vrednosti v registru CPE ali v sistemskem RAM-u.
Ko je celotno navodilo pridobljeno, ga je treba dekodirati. To je postopek, pri katerem CPE loči operacijsko kodo in vse operande. Dekodirana operacijska koda se uporablja za omogočanje ali onemogočanje določenih električnih poti v CPE, ki bodo povzročile pravilno delovanje.
Ko je navodilo dekodirano, bo izvedeno. Natančno obnašanje procesorja bo odvisno od operacije. Operacija seštevanja bo seštela dve vrednosti. Operacija skoka bo izračunala, kam v programu skočiti. Operacija primerjave bo primerjala dve vrednosti. Operacija NOP bo mirovala, saj NOP pomeni Brez operacije.
Večina navodil bo nato izpisala rezultat operacije. Ta izhod lahko gre v registre procesorja in po potrebi v sistemski RAM. Za dokončanje vsake od teh operacij je potreben en takt.
Nedovoljene opcijske kode
Vsaka arhitektura CPU ima svoj poseben seznam opcijskih kod, ki jih objavi proizvajalec. Vrednosti teh operacijskih kod niso nujno enake med platformami, zato je treba programsko opremo prevesti za različne arhitekture. V nekaterih primerih proizvajalec vključi tudi nedokumentirane opkode. Te se imenujejo "nezakonite opcijske kode". Nedovoljene opcijske kode bodo, čeprav nedokumentirane, opravljale isto funkcijo vsakič, ko bodo priklicane. Kot nedokumentirane in nestandardne funkcije pa jih lahko posodobitve arhitekture CPE preprosto odstranijo.
Nekatere zgodnje računalniške igre na Apple II so se zanašale na posebne nedovoljene kode. Nato so imeli težave z zmogljivostjo in stabilnostjo pri kasnejši reviziji procesorja Apple IIc, saj je IIc odstranil nezakonite opkode, ki so jih zahtevale igre. Nezakonite kode so bile uporabljene tudi v krogih za zaščito avtorskih pravic kot varnostna metoda skozi prikritost v boju proti piratom, ki so vdrli v njihovo vsebino. Nekatere nezakonite opcijske kode so preprosto mišljene kot orodja za odpravljanje napak in obravnave napak.
Nabor navodil x86 vsebuje veliko število nedokumentiranih nezakonitih operacijskih kod. Zanimivo je, da si nekatere od teh delijo procesorji Intel in AMD, kar kaže, da sta obe podjetji javno seznanjeni z njihovim namenom, čeprav ni dokumentiran.
Prevajalniki in montaža
Večina programov je napisanih v jezikih visoke ravni. Ti so razmeroma lahko berljivi, pogosto uporabljajo angleške besede ali stenografijo, da zmanjšajo učne krivulje. Da bi računalnik izvajal te programe, jih je treba prevesti. Prevajalnik je v bistvu prevajalec. Prevzame visokonivojsko kodo in jo pretvori v računalniško kodo, navodila, ki jih CPE razume.
V nekaterih jezikih je mogoče tudi zagnati neprevedeno kodo prek predhodno prevedenega programa, ki sproti ustvarja strojno kodo. Sestavljanje je nizkonivojski programski jezik, ki uporablja stenografijo, da razvijalcem omogoči neposredno vidljivost in nadzor nad izvedenimi operacijami. NOP je primer okrajšave za sestavljanje.
Zaključek
Nabor navodil je seznam uradnih funkcij, ki jih lahko izvaja arhitektura CPE. To je seznam operacij, ki jih je mogoče izvesti. Te operacije so trdo kodirane v CPE in se kličejo z uporabo ustreznih kod.
Programska oprema na splošno uporablja prevajalnik za prevajanje iz človeku berljive visokonivojske kode v strojno kodo, ki jo lahko prebere CPE. Včasih ima lahko arhitektura CPE nedokumentirane opcijske kode, imenovane nedovoljene opcijske kode. Nedovoljene opcijske kode so tehnično del nabora navodil. Vendar morda ne bodo zanesljivo na voljo v prihodnjih ponovitvah platforme. Ne pozabite pustiti svojih misli v spodnjih komentarjih.