Differenza tra linguaggio macchina e linguaggio assembly

Sommario:

Differenza tra linguaggio macchina e linguaggio assembly
Differenza tra linguaggio macchina e linguaggio assembly

Video: Differenza tra linguaggio macchina e linguaggio assembly

Video: Differenza tra linguaggio macchina e linguaggio assembly
Video: Simulatore Deeds: linguaggio assembly e linguaggio macchina (Lezione 5) 2024, Novembre
Anonim

Differenza chiave: linguaggio macchina e linguaggio assembly

I linguaggi di programmazione consentono agli esseri umani di creare istruzioni per consentire a un computer di 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 capire per gli esseri umani. Il linguaggio riconosciuto da un computer è noto come linguaggio macchina. Il linguaggio assembly è il linguaggio 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 che un assemblatore converta in codice macchina o codice oggetto per essere eseguito dalla CPU.

Cos'è il linguaggio macchina?

Gli esseri umani sono in grado di comprendere 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, tali programmi dovrebbero essere convertiti in un linguaggio macchina comprensibile dal computer. Questa traduzione viene eseguita utilizzando un compilatore o un interprete.

Differenza tra linguaggio macchina e linguaggio assembly
Differenza tra linguaggio macchina e linguaggio assembly
Differenza tra linguaggio macchina e linguaggio assembly
Differenza tra linguaggio macchina e linguaggio assembly

Figura 01: Linguaggio macchina di zero e uno.

Un linguaggio macchina è costituito da cifre binarie che sono zero e una volta. Un computer è un dispositivo elettronico digitale, quindi utilizza il binario per le operazioni. Uno indica lo stato vero / stato attivo 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 usando Assembly, il programmatore dovrebbe avere una buona conoscenza dell'architettura del computer e della struttura del registro. Uno speciale compilatore noto come assembler viene utilizzato per convertire le istruzioni del linguaggio assembly in codice macchina o codice oggetto.

Le istruzioni del linguaggio assembly hanno quattro sezioni. Sono etichetta, mnemonico, operando, 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 per copiare il contenuto nel 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 sulla variabile VALUE1 e 100.

MOV AL, 20 – Questo serve per copiare il valore 20 nel registro AL

Differenza chiave tra linguaggio macchina e linguaggio assembly
Differenza chiave tra linguaggio macchina e linguaggio assembly
Differenza chiave tra linguaggio macchina e linguaggio assembly
Differenza chiave tra linguaggio macchina e linguaggio assembly

Figura 02: Un programma scritto utilizzando il linguaggio Assembly

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 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 denominate 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?

Lingua 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 a un assemblatore di convertirlo in codice macchina/codice oggetto.
Comprensibilità
Il linguaggio macchina è comprensibile solo dai computer. Il linguaggio assembler è comprensibile agli esseri umani.
Sintassi
Un linguaggio macchina è composto da cifre binarie. Il linguaggio assembly segue una sintassi simile a quella inglese.
Dipendenza
La lingua della macchina varia a seconda della piattaforma. Il linguaggio assembly consiste in un insieme standard di istruzioni.
Applicazioni
La lingua 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 a un assemblatore di convertirsi 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 offre 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

Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra linguaggio macchina e linguaggio assembly

Immagine per gentile concessione:

1. 'Lingua macchina' di Turkei89 - Opera propria, (CC BY-SA 3.0) tramite Commons Wikimedia

2.'Assemblaggio Zstr count x86' di OldCodger2, (dominio pubblico) tramite Commons Wikimedia

Consigliato: