Qual è la relazione tra codice operativo, operando e istruzioni macchina?
Noi ci riferiamo semplicemente alle istruzioni macchina come agli opcode che le rappresentano in una CPU. A volte la gente chiama il codice macchina del linguaggio assembly perché ha una mappatura uno a uno (per lo più) dell'attuale set di istruzioni opcode.
Prendiamo questo esempio:
È l'istruzione di confronto. In linguaggio assembly la useresti così:
- cmp AL, 5 ;confronta il valore nel registro AL con il valore 5.
L'immagine sopra dell'istruzione CMP elenca gli opcode in esadecimale: 3C, 3D.
Questi valori che seguono l'opcode (ib, iw, id) sono solo codici di appendice che ti dicono se sono valori immediati, byte, parole, ecc... Puoi cercarli sul foglio delle istruzioni (che è dove ho ritagliato l'immagine): CMP - Compare Two Operands
Il codice dell'operazione è solo il valore binario (o esadecimale) dell'effettiva istruzione macchina nel set di istruzioni della CPU (ad esempio confronta valore, sposta valore, aggiungi valore) e gli operandi sono i registri o i valori di byte/parola/memoria su cui l'istruzione macchina sta per eseguire l'operazione.
Articoli simili
- Quali sono le differenze tra codice macchina, codice byte, codice oggetto e codice sorgente?
- Qual è la differenza tra bytecode, codice nativo, codice macchina e codice assembly?
- Quali sono i vantaggi e gli svantaggi del set di istruzioni Thumb rispetto alle istruzioni ARM a 32 bit?
- Il mio Samsung Galaxy S4 ha un codice paese XSB. Posso aggiornare manualmente il sistema operativo con un diverso codice paese, codice prodotto e CSC?