A linguagem de máquina de cada processador é acompanhada de uma versão legível da linguagem de máquina que é chamada simbólica. A linguagem Asslembly é uma versão legível da linguagem de máquina utilizando palavras abreviadas chamadas mnemônicos, indicando que operação o processador deve realizar.
Exemplos de Instruções Assembly:
- MOV R1,R2:mnemônico MOV (abreviação de MOVE) e dois registradores como parâmetro: R1 e R2., quando o processador efetua essa instrução ele comanda o movimento do conteúdo R2 para R1. No Pascal : R1: = R2.
- ADD R1,R2:Mnemônico ADD e dois registradores como parâmetro: R1 e R2. Quando o processador efetua essa instrução ele comanda a adição do conteúdo de R1 ao conteúdo de R2 e o resultado é armazenado.
Seguindo a evolução das linguagens de programação se aproximou mais a linguagem de programação à linguagem natural . Surgiram então, as linguagens de alto nível, com o Pascal, C, C++, etc.
Vantagens:
- Permite acesso direto ao programa de máquina. Utilizando uma linguagem de alto nível não se tem o controle de código de máquina gerado pelo compilador. Um programa escrito em linguagem Assembly pode ser de 0 a 300% menor e mais rápido que um programa compilado;
- Essa linguagem permite o controle total do hardware.
Desvantagens:
-
A linguagem apresenta um número muito reduzido de instruções;
- O programador deve conhecer muito bem a máquina;
- O programa Assembly não é muito legível, precisa ser bem documentado;
- O programa Assembly não é portável (pode ser usado apenas em um tipo de computador). É portável apenas dentro de uma família de processadores;
- A programação Assembly tem um custo de desenvolvimento maior.
Desvantagens:
A linguagem apresenta um número muito reduzido de instruções;
Aplicações da linguagem Assembly:
- Controle de processos com resposta em tempo real.Nesse tipo de aplicação o processador deve executar um conjunto de instruções em um tempo limitado;
- Comunicação e transferência de dados. Nesse tipo de aplicação é utilizada a linguagem Assembly, devido a possibilidade de acessar diretamente o hardware;
- Otimização de sub-tarefas da programação de alto nível.
Muito bom !
ResponderExcluirmuito bom, tudo muito organizado!!!!!
ResponderExcluir