Cod de operare

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 10 iunie 2018; verificările necesită 7 modificări .

Cod de operare , cod de operare , cod operațional - o  parte a limbajului mașinii numită instrucțiune care definește operația care trebuie efectuată.

Definiția și formatul codurilor de instrucțiuni depind de setul de instrucțiuni al unui procesor dat (care poate fi fie un procesor principal, fie mai specializat pentru a funcționa într-o anumită zonă). Spre deosebire de codul operațional în sine, o instrucțiune are de obicei una sau mai multe definiții pentru operanzii (adică date ) pe care urmează să fie efectuată operația, deși unele operații pot avea operanzi expliciți sau deloc. Există seturi de instrucțiuni cu câmpuri similare de dimensiune fixă ​​pentru definițiile opcode și operand, în timp ce altele ( arhitectura x86 , de exemplu) au o structură mai complexă cu lungime variabilă. [unu]

În funcție de arhitectură, operanzii pot fi valori de registru , valori de stivă , alte valori din memorie , porturi I/O și altele care sunt definite și accesate folosind diverse metode de adresare . Tipurile de operații includ operații aritmetice , copierea datelor, operații logice , alte construcții software, spre deosebire de instrucțiuni speciale (cum ar fi CPUID și altele).

Limbajul de asamblare

Limbajul de asamblare , sau pur și simplu asamblatorul, este un limbaj de programare de nivel scăzut care utilizează mnemonici , instrucțiuni și operanzi pentru a reprezenta codul mașină. Acest lucru îmbunătățește lizibilitatea, menținând în același timp controlul deplin asupra instrucțiunilor mașinii. Există , de asemenea, limbaje de nivel înalt care sunt mai ușor de scris cod mare decât limbajul de asamblare. Astfel de limbi trebuie compilate pentru traducere în limbajul mașinii sau rulate folosind alte programe - emulatori sau interpreți . [2]

Seturi de instrucțiuni software

Opcode-ul poate fi găsit și în așa-numitul bytecode și în alte reprezentări concepute pentru interpreții software, mai degrabă decât hardware. Aceste seturi de instrucțiuni software folosesc adesea tipuri de date și operațiuni de nivel puțin mai ridicat decât majoritatea omologilor hardware, dar se bazează totuși pe aceleași principii. Exemplele includ Java Virtual Machine (JVM) a limbajului de programare Java , bytecode folosit de Emacs pentru codul Lisp compilat și multe altele. [3]

Note

  1. Limbajul mașinii pentru începători - Introducere . Consultat la 21 iulie 2008. Arhivat din original la 13 februarie 2008.
  2. Introducere în limbajul de asamblare . Preluat la 21 iulie 2008. Arhivat din original la 2 martie 2020.
  3. Definiția bytecode din PC Magazine Encyclopedia . Preluat la 13 aprilie 2022. Arhivat din original la 6 octombrie 2012.