Diferença entre linguagem de máquina e linguagem assembly

Diferença de chave - Máquina Linguagem vs Linguagem Assembly
 

Linguagens de programação permitem que humanos criem instruções para um computador executar tarefas. Existem três categorias de linguagens de programação, como Linguagens de programação de alto nível, Linguagem assembly e Linguagem de máquina. Linguagens de programação de alto nível são mais fáceis para os seres humanos entenderem. O idioma reconhecido por um computador é conhecido como linguagem de máquina. Linguagem assembly é o idioma entre os idiomas de alto nível e o idioma da máquina. o diferença chave entre linguagem de máquina e linguagem assembly é que, a linguagem da máquina é executada diretamente por um computador e a linguagem assembly exige que um assembler converta em código de máquina ou código de objeto a ser executado pela CPU.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é linguagem de máquina
3. O que é a linguagem Assembly
4. Semelhanças entre linguagem de máquina e linguagem assembly
5. Comparação lado a lado - Linguagem de máquina x Linguagem de montagem em forma de tabela
6. Resumo

O que é linguagem de máquina?

Os seres humanos podem entender linguagens de programação de alto nível. Não é necessário ter um entendimento profundo da CPU interna, para programar usando linguagens de alto nível. Eles seguem uma sintaxe semelhante ao idioma inglês. Java, C, C ++, Python são algumas linguagens de programação de alto nível. Um computador reconhece o idioma da máquina, mas não entende os idiomas de alto nível. Portanto, esses programas devem ser convertidos em linguagem de máquina compreensível por computador. Esta tradução é feita usando um compilador ou um intérprete.

Figura 01: Linguagem de máquina de zeros e uns.

Uma linguagem de máquina consiste em dígitos binários que são zeros e uma vez. Um computador é um dispositivo eletrônico digital, portanto, ele usa binário para operações. Um indica o estado verdadeiro / ligado, enquanto zero indica o estado falso / desligado. A maneira de converter um programa de linguagem de alto nível para linguagem de máquina depende da CPU.

O que é a linguagem Assembly?

A linguagem assembly é a linguagem intermediária entre as linguagens de programação de alto nível e a linguagem de máquina. É um nível acima da linguagem de máquina. A linguagem assembly é mais fácil de entender do que a linguagem de máquina, mas mais difícil que as linguagens de programação de alto nível. Esse idioma também é conhecido como idioma de baixo nível, pois fica próximo ao nível do hardware. Para escrever programas eficazes usando o Assembly, o programador deve ter um bom entendimento da arquitetura do computador e da estrutura do registro. Um compilador especial conhecido como assembler é usado para converter instruções da linguagem assembly em código de máquina ou código de objeto.

Instruções de linguagem assembly têm quatro seções. Eles são um rótulo, mnemônico, operando, comentário. Rótulo e comentários são opcionais. Mnemônico é a instrução para executar e operandos são parâmetros para o comando. A linguagem assembly também suporta macros. Uma macro pode ser definida como um conjunto de instruções com um nome. Pode ser usado em outro lugar do programa.

Alguns exemplos de instruções em linguagem Assembly são os seguintes.

MOV SUM, 50 - Esta instrução copia o valor 50 para a variável SUM.

ADD VALUE1,20 - Isso adiciona 20 à variável VALUE1

ADICIONAR AH, BH - Esta instrução é para copiar o conteúdo do registro AH para o registro BH.

INC COUNT - para incrementar a variável COUNT em um.

AND VALUE1,100 - É para executar a operação AND nas variáveis ​​VALUE1 e 100.

MOV AL, 20 - Copia o valor 20 para o registro AL

Figura 02: Um programa escrito usando a linguagem Assembly

Conjunto de instruções de montagem é um programa de montagem. Pode-se ver que a linguagem assembly é mais fácil que a linguagem machine. Tem uma sintaxe semelhante ao idioma inglês. A linguagem assembly tem cerca de trinta instruções. A memória e o tempo de execução necessários são mínimos em comparação com os idiomas de alto nível.

Em sistemas em tempo real, pode haver eventos que exijam ação da CPU imediatamente. Esses eventos são sub-rotinas especiais chamadas Interrupção de rotina de serviço (ISR). A linguagem Assembly é útil para programar ISR.

Qual é a semelhança entre linguagem de máquina e linguagem Assembly?

  • A linguagem da máquina e a linguagem assembly estão relacionadas ao nível do hardware.

Qual é a diferença entre linguagem de máquina e linguagem Assembly?

Linguagem de Máquina x Linguagem de Montagem

Linguagem de máquina é a linguagem de programação de nível mais baixo, onde as instruções são executadas diretamente pela CPU. A linguagem Assembly é uma linguagem de programação de baixo nível que requer que um assembler converta em código de máquina / código de objeto.
Compreensibilidade
A linguagem de máquina é compreensível apenas para os computadores. A linguagem assembly é compreensível para os seres humanos.
Sintaxe
Uma linguagem de máquina consiste em dígitos binários. O idioma assembly segue uma sintaxe semelhante ao idioma inglês.
Dependência
O idioma da máquina varia de acordo com a plataforma. A linguagem assembly consiste em um conjunto padrão de instruções.
Formulários
Linguagem de máquina é código de máquina. A linguagem Assembly está sendo usada para sistemas em tempo real baseados em microprocessador.

Resumo - Máquina Linguagem vs Linguagem Assembly 

A diferença entre linguagem de máquina e linguagem de montagem é que a linguagem de máquina é executada diretamente por um computador e a linguagem de montagem é uma linguagem de programação de baixo nível que requer que um assembler converta em código de objeto ou código de máquina. A linguagem assembly está um passo à frente da linguagem de máquina. A linguagem Assembly é uma linguagem ideal para programar sistemas baseados em microcontroladores. Essa linguagem também oferece uma boa compreensão de como a CPU está funcionando e sobre os componentes internos do computador..

Faça o download da versão em PDF do Machine Language vs Assembly Language

Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui Diferença entre linguagem de máquina e linguagem de montagem

Cortesia da imagem:

1.'Machine language'By Turkei89 - Obra própria, (CC BY-SA 3.0) via Commons Wikimedia  
2.'Zstr count x86 assembly 'Por OldCodger2, (Domínio Público) via Commons Wikimedia