Differenza chiave: linguaggio macchina vs linguaggio assembly
I linguaggi di programmazione consentono agli umani di creare istruzioni per un computer per eseguire attività. Esistono tre categorie di linguaggi di programmazione come i linguaggi di programmazione di alto livello, il linguaggio Assembly e il linguaggio macchina. I linguaggi di programmazione di alto livello sono più facili da capire per gli esseri umani. La lingua riconosciuta da un computer è nota come linguaggio macchina. Il linguaggio assembly è il linguaggio tra i linguaggi di alto livello e il linguaggio macchina. La differenza fondamentale tra linguaggio macchina e linguaggio assembly è che, il linguaggio macchina viene eseguito direttamente da un computer e il linguaggio assembly richiede che un assemblatore si converta in codice macchina o codice oggetto per essere eseguito dalla CPU.
CONTENUTI
1. Panoramica e differenze chiave
2. Che cos'è il linguaggio macchina
3. Che cos'è il linguaggio assembly
4. Somiglianze tra linguaggio macchina e linguaggio assembly
5. Confronto affiancato - linguaggio macchina vs linguaggio assembly in formato tabulare
6. Riepilogo
Cos'è il linguaggio macchina?
Gli esseri umani possono comprendere i linguaggi di programmazione di alto livello. Non è necessario avere una profonda conoscenza della CPU interna, per programmare utilizzando linguaggi di alto livello. Seguono una sintassi simile alla lingua inglese. Java, C, C ++, Python sono alcuni linguaggi di programmazione di alto livello. Un computer riconosce il linguaggio macchina ma non comprende i linguaggi di alto livello. Pertanto, questi programmi dovrebbero essere convertiti in un linguaggio macchina comprensibile al computer. Questa traduzione viene eseguita utilizzando un compilatore o un interprete.
Figura 01: linguaggio macchina di zero e uno.
Un linguaggio macchina è costituito da cifre binarie che sono zeri e una volta. Un computer è un dispositivo elettronico digitale, quindi utilizza il binario per le operazioni. Uno indica il vero stato / stato acceso mentre zero indica lo stato falso / stato spento. Il modo di convertire un programma dal linguaggio di alto livello al linguaggio macchina dipende dalla CPU.
Cos'è il linguaggio Assembly?
Il linguaggio assembly è il linguaggio intermedio tra i linguaggi di programmazione di alto livello e il linguaggio macchina. È un livello sopra il linguaggio macchina. Il linguaggio assembly è più facile da capire del linguaggio macchina ma più difficile dei linguaggi di programmazione di alto livello. Questa lingua è anche nota come lingua di basso livello perché è vicina al livello hardware. Per scrivere programmi efficaci utilizzando Assembly, il programmatore deve avere una buona conoscenza dell'architettura del computer e della struttura del registro. Un compilatore speciale noto come assemblatore viene utilizzato per convertire le istruzioni in linguaggio assembly in codice macchina o codice oggetto.
Le dichiarazioni del linguaggio assembly hanno quattro sezioni. Sono un'etichetta, un mnemonico, un operando, un commento. Etichetta e commenti sono facoltativi. Il mnemonico è l'istruzione da eseguire e gli operandi sono parametri per il comando. Il linguaggio Assembly supporta anche le macro. Una macro può essere definita come un insieme di istruzioni con un nome. Può essere utilizzato altrove nel programma.
Alcuni esempi di istruzioni in linguaggio Assembly sono i seguenti.
MOV SUM, 50 - Questa istruzione copia il valore 50 nella variabile SUM.
ADD VALUE1,20 - Questo per aggiungere 20 alla variabile VALUE1
ADD AH, BH - Questa istruzione serve a copiare il contenuto del registro AH nel registro BH.
INC COUNT - Questo serve per incrementare la variabile COUNT di uno.
AND VALUE1,100 - Serve per eseguire l'operazione AND sulle variabili VALUE1 e 100.
MOV AL, 20 - Serve per copiare il valore 20 nel registro AL
Figura 02: un programma scritto utilizzando il linguaggio Assembly
Il set di istruzioni Assembly è un programma Assembly. Si può vedere che il linguaggio assembly è più semplice del linguaggio macchina. Ha una sintassi simile alla lingua inglese. Il linguaggio dell'Assemblea ha una trentina di istruzioni. La memoria richiesta e il tempo di esecuzione sono minimi rispetto ai linguaggi di alto livello.
Nei sistemi in tempo reale, possono verificarsi eventi che richiedono un'azione immediata della CPU. Questi eventi sono subroutine speciali chiamate routine di servizio interrupt (ISR). Il linguaggio Assembly è utile per programmare ISR.
Qual è la somiglianza tra linguaggio macchina e linguaggio assembly?
Sia il linguaggio macchina che il linguaggio assembly sono correlati al livello hardware
Qual è la differenza tra linguaggio macchina e linguaggio assembly?
Articolo diff. Al centro prima della tabella
Linguaggio macchina vs linguaggio assembly |
|
Il linguaggio macchina è il linguaggio di programmazione di livello più basso in cui le istruzioni vengono eseguite direttamente dalla CPU. | Il linguaggio Assembly è un linguaggio di programmazione di basso livello che richiede un assemblatore per la conversione in codice macchina / codice oggetto. |
Comprensibilità | |
Il linguaggio macchina è comprensibile solo ai computer. | Il linguaggio assembly è comprensibile agli esseri umani. |
Sintassi | |
Un linguaggio macchina è costituito da cifre binarie. | La lingua assembly segue una sintassi simile alla lingua inglese. |
Dipendenza | |
Il linguaggio macchina varia a seconda della piattaforma. | Il linguaggio assembly è costituito da un set standard di istruzioni. |
Applicazioni | |
Il linguaggio macchina è il codice macchina. | Il linguaggio assembly viene utilizzato per i sistemi in tempo reale basati su microprocessore. |
Riepilogo: linguaggio macchina vs linguaggio assembly
La differenza tra linguaggio macchina e linguaggio assembly è che il linguaggio macchina viene eseguito direttamente da un computer e il linguaggio assembly è un linguaggio di programmazione di basso livello che richiede un assemblatore per la conversione in codice oggetto o codice macchina. Il linguaggio assembly è un passo avanti rispetto al linguaggio macchina. Il linguaggio Assembly è un linguaggio ideale per programmare sistemi basati su microcontrollori. Questo linguaggio fornisce anche una buona comprensione di come funziona la CPU e dei componenti interni del computer.
Scarica la versione PDF di Machine Language vs Assembly Language
È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra linguaggio macchina e linguaggio assembly
Cortesia dell'immagine:
1.'Machine language'By Turkei89 - Opera propria, (CC BY-SA 3.0) tramite Commons Wikimedia
2.'Zstr count x86 assembly 'di OldCodger2, (dominio pubblico) tramite Commons Wikimedia