Differenza tra linguaggio macchina e linguaggio assembly

Differenza chiave - Macchina Lingua vs linguaggio assembly
 

I linguaggi di programmazione consentono agli utenti di creare istruzioni per un computer per eseguire attività. Esistono tre categorie di linguaggi di programmazione, come linguaggi di programmazione di alto livello, linguaggio Assembly e linguaggio macchina. I linguaggi di programmazione di alto livello sono più facili da comprendere per gli esseri umani. La lingua riconosciuta da un computer è nota come linguaggio macchina. La lingua assembly è la lingua tra i linguaggi di alto livello e il linguaggio macchina. Il differenza fondamentale tra linguaggio macchina e linguaggio assembly è quello, il linguaggio macchina viene eseguito direttamente da un computer e il linguaggio assembly richiede un assemblatore per la conversione in codice macchina o codice oggetto da eseguire dalla CPU.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è il linguaggio macchina
3. Cos'è il linguaggio assembly
4. Somiglianze tra linguaggio macchina e linguaggio assembly
5. Confronto affiancato - Lingua macchina e linguaggio assembly in formato tabulare
6. Sommario

Cos'è il linguaggio macchina?

Gli umani possono capire 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 capisce i linguaggi di alto livello. Pertanto, tali programmi dovrebbero essere convertiti in linguaggio macchina comprensibile al computer. Questa traduzione è fatta usando un compilatore o un interprete.

Figura 01: linguaggio macchina di zeri e di quelli.

Un linguaggio macchina è composto da cifre binarie che sono zeri e una volta. Un computer è un dispositivo elettronico digitale, quindi usa binari per le operazioni. Uno indica lo stato vero / stato attivo mentre zero indica lo stato falso / spento. Il modo di convertire un programma da un linguaggio di alto livello a un linguaggio macchina dipende dalla CPU.

Cos'è il linguaggio assembly?

La lingua assembly è la lingua intermedia 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 rispetto al linguaggio macchina ma più difficile rispetto ai linguaggi di programmazione di alto livello. Questo linguaggio è anche conosciuto come linguaggio di basso livello perché è vicino al livello hardware. Per poter scrivere programmi efficaci usando Assembly, il programmatore dovrebbe 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 del linguaggio assembly in codice macchina o codice oggetto.

Le dichiarazioni linguistiche dell'Assemblea hanno quattro sezioni. Sono un'etichetta, un mnemonico, un operando, un commento. Etichetta e commenti sono opzionali. 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 dichiarazioni di 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 è di copiare il contenuto nel registro AH al registro BH.

INC COUNT - Questo è per incrementare la variabile COUNT di uno.

AND VALUE1,100 - Serve per eseguire l'operazione AND sulla variabile VALUE1 e 100.

MOV AL, 20 - Questo è per copiare il valore 20 nel registro AL

Figura 02: un programma scritto usando Assembly Language

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 assembly ha una trentina di istruzioni. La memoria e il tempo di esecuzione richiesti sono minimi rispetto ai linguaggi di alto livello.

Nei sistemi in tempo reale, possono verificarsi eventi che richiedono immediatamente l'azione della CPU. Questi eventi sono subroutine speciali chiamate Interrupt Service Routine (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?

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 dell'assemblaggio è comprensibile per l'uomo.
Sintassi
Un linguaggio macchina è composto da cifre binarie. Il linguaggio assembly segue una sintassi simile alla lingua inglese.
Dipendenza
Il linguaggio della macchina varia a seconda della piattaforma. Il linguaggio assembly è costituito da un set di istruzioni standard.
applicazioni
Il linguaggio macchina è il codice macchina. Il linguaggio assembly viene utilizzato per i sistemi in tempo reale basati su microprocessore.

Riepilogo - Macchina Lingua 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 i sistemi basati su microcontrollore. Questo linguaggio fornisce anche una buona comprensione di come funziona la CPU e dei componenti interni del computer.

Scarica la versione PDF del linguaggio macchina o linguaggio assembly

È possibile scaricare la versione PDF di questo articolo e utilizzarlo 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. "Linguaggio macchina" per Turkei89 - Opera propria, (CC BY-SA 3.0) attraverso Commons Wikimedia  
2.'Zstr count x86 assembly 'di OldCodger2, (Public Domain) tramite Commons Wikimedia