Rozdiel kľúčov: Opcode je typ inštrukcie pre strojový jazyk. Poskytuje počítaču pokyny, ktoré naznačujú, čo robiť s poskytnutými údajmi. Bajtový kód je podobný opcode v prírode, pretože tiež informuje stroj, čo má robiť. Avšak, bytecode nie je navrhnutý tak, aby ju vykonal priamo procesor, ale skôr softvérový interpret ako Java alebo CLR.
Na základe použitej architektúry môžu byť operandy registrované hodnoty, hodnoty v zásobníku, iné hodnoty pamäte, I / O porty atď., Špecifikované a prístupné pomocou viac alebo menej zložitých režimov adresovania. Zatiaľ čo tieto operácie môžu byť aritmetikou, ako je napríklad pridávanie alebo odčítanie, kopírovanie dát, logické operácie a kontrola programu, ako aj špeciálne pokyny, ako napríklad CPUID alebo iné.
Bajtový kód je podobný opcode v prírode, pretože tiež informuje stroj, čo má robiť. Avšak, bytecode nie je navrhnutý tak, aby bol vykonaný priamo procesorom, ale skôr iným programom. Najčastejšie ho používa softvérový tlmočník ako Java alebo CLR. Prevádzajú každú všeobecnú strojovú inštrukciu na konkrétnu strojovú inštrukciu alebo inštrukcie, aby pochopil procesor počítača. V skutočnosti názov bytecode pochádza z množiny inštrukcií, ktoré majú jednobajtové opcódy, za ktorými nasledujú voliteľné parametre.
Bytecodes sú obyčajne kompaktné číselné kódy, konštanty a odkazy. V skutočnosti ide o normálne číselné adresy. Kódujú výsledok analýzy a sémantickej analýzy vecí, ako je typ, rozsah a hĺbka vnorení programových objektov. Preto často umožňujú oveľa lepší výkon ako priama interpretácia zdrojového kódu. Tiež umožňujú, aby ten istý kód fungoval na rôznych platformách. To zase znižuje závislosť hardvéru a operačného systému.
Zmazanie medzi Opcode a Bytecode vyplýva zo skutočnosti, že opcodes možno nájsť aj v bajtových kódoch a iných reprezentáciách. Tieto reprezentácie sú často určené skôr pre softvérového tlmočníka ako pre hardvérové zariadenie. Tiež využívajú údaje a operácie oveľa vyššej úrovne ako väčšina hardvérových náprotivkov. Avšak sú konštruované podobným spôsobom.
Porovnanie medzi Opcode a Bytecode:
OPCODE | bytecode | |
Typ | Pokyny pre strojové jazyky | Pokyny pre strojové jazyky |
popis | Je typ kódu, ktorý poskytuje počítaču pokyny, ktoré naznačujú, čo má robiť s poskytnutými údajmi. | Je forma inštrukčnej množiny navrhnutá pre efektívne vykonávanie softvérovým tlmočníkom. |
Čo to robí | Pokyny pre operácie s údajmi | Pokyny ukazujúce, čo robiť |
Spustiť | Spustite stroj | Spustite vo virtuálnom počítači |
Používaný | technické vybavenie | Softvérový tlmočník ako Java alebo CLR. |
Obrázok so súhlasom: en.wikibooks.org, slideshare.net