Opcode

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În calculul unui cod de operare ( cod de operare , cod de operare) este o porțiune de instrucțiuni în limbajul mașinii care specifică operația care ar trebui efectuată. Lungimea și formatul codului sunt aranjate în setul de instrucțiuni al procesorului în cauză (care poate fi unprocesor generic sau o unitate de procesare mai specializată). În plus față de același cod operațional, o instrucțiune are în mod normal unul sau mai mulți identificatori pentru operanzi (de exemplu date ) asupra cărora trebuie să acționeze operațiunea; trebuie remarcat faptul că anumite operațiuni pot avea operanzi implicite, sau fără operanzi deloc.

Există seturi de instrucțiuni cu câmpuri aproape uniforme pentru opcode și operatori, precum și altele (arhitectura x86 de exemplu) cu o structură mai complicată de lungime variabilă. Un exemplu ar fi numărul 0001 , un cod operațional care spune computerului să adauge (ADD). [1]

În funcție de arhitectură, operanzii pot fi valori în registre, valori în stivă, alte valori din memorie, porturi I / O etc., specificate și accesibile utilizând un model de adresare mai mult sau mai puțin complex. Tipurile de operații includ operații aritmetice, operații de copiere a datelor, operații logice și controlul programului, cum ar fi instrucțiuni speciale (cum ar fi CPUID și altele).

Asamblare

Asamblarea este un limbaj de programare de nivel scăzut care folosește instrucțiuni și operanzi mnemonici pentru a reprezenta codul mașinii. Acest lucru îmbunătățește lizibilitatea, menținând în același timp un control precis asupra instrucțiunilor mașinii. Majoritatea programărilor de astăzi se fac folosind limbaje de programare la nivel înalt , [2] [3], care sunt de obicei mai ușor de citit și de scris. Aceste limbi trebuie să fie compilate (traduse în limbajul mașinii) sau, în limbaje de script , să ruleze prin alte executabile compilate. [4]

Seturi de instrucțiuni software

Opcodurile pot fi găsite și în ceea ce se numește cod de octeți și alte reprezentări adresate unui interpret de software, mai degrabă decât unui dispozitiv hardware. Aceste seturi de instrucțiuni bazate pe software folosesc adesea tipuri și operațiuni de date ușor mai ridicate decât omologii lor hardware, dar sunt totuși construite de-a lungul unor modele similare. Exemple sunt limbajul Java cu Java Virtual Machine (JVM), bytecode-ul folosit în GNU Emacs pentru codul LISP compilat, .Net Common Intermediate Language (CIL) și multe altele. [5]

Notă

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT