QNA > Q > Qual È La Relazione Tra Codice Operativo, Operando E Istruzioni Macchina?

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:

main-qimg-809dd27e9bbc0cbaf4563b6c803c920c

È l'istruzione di confronto. In linguaggio assembly la useresti così:

  1. 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.

Di Chill

Quali sono le differenze tra codice macchina, codice byte, codice oggetto e codice sorgente? :: Qual è la differenza tra un linguaggio assembly e un linguaggio ad alto livello?
Link utili