Introdução às Linguagens de Programação/Assembly




Assembly ou linguagem de maquina é uma notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa. A linguagem de máquina, que é um mero padrão de bits, torna-se legível pela substituição dos valores em bruto por símbolos chamados mnemônicos. É utilizada em geral para programação em baixo nível de máquina (mais próxima do nível do hardware), sendo que cada família de processadores (Ex. X86, ARM, SPARC, MIPS) possui sua própria linguagem assembly, já que cada processador possui seu próprio conjunto de instruções embutidas.

Assembly do Motorola MC6800

Muitos dispositivos programáveis (como microcontroladores) ainda são programados diretamente em assembly apesar de que a partir da década de 1970 muitos dispositivos passaram a ser programados em C.

Ambiente de Linguagem editar

A linguagem Assembly, é uma notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa, utilizada para programar códigos entendidos por dispositivos computacionais, como microprocessadores e microcontroladores.

Instalação editar

O Assembly mesmo sendo uma linguagem de baixo nível, necessita ser transformada para ser entendida pela maquina, que no caso o chamamos de Assembler. O Assembler é um utilitário que traduz os códigos para a máquina. Existem diversos compiladores Assembly no mercado que podem ser baixados pelo usuário para criação do seu código. Os principais compiladores disponíveis atualmente são: Fasm, Goasm, Masm, Nasm e Tasm entre outros.

Vantagens editar

  • Tamanho dos programas de Assembly são menores;
  • Assembly permite criar ações de alta complexidade, impossíveis ou difíceis de se realizar em linguagens de Alto Nível;
  • Conhecimento em Assembly possibilita a programação nos outros tipos de linguagem;
  • É um programa recomendável onde o tempo é um fator crítico como por exemplo: medições de tempo que exigem boa performance;
  • Se torna de fácil compreensão com algum conhecimento de conceitos de hardware e seus dialetos.

Desvantagens editar

  • Programar em Assembly consome muito tempo para o programador;
  • A linguagem é portável apenas dentro de uma família de processadores.
  • Como é uma linguagem especifica para processadores de cada máquina, é necessário desenvolver um programa para cada máquina.
  • Não existe rotinas pré-definidas, o programador deverá desenvolver suas próprias rotinas.
  • A linguagem Assembly apresenta um número muito reduzido de instruções, do tipo operações de movimentação de dados em memória, para registros e para memórias, e operações lógicas e aritméticas bem simples. Estas instruções são de baixa expressividade, isto é, elas são de baixo nível. O programador deve programar num nível de detalhamento muito maior para fazer a mesma coisa que em um programa escrito em linguagem de alto nível.
  • Como o programador utiliza diretamente os recursos do processador e memória, ele deve conhecer muito bem a máquina onde ele está programando.

Referências editar


  Esta página é somente um esboço. Ampliando-a você ajudará a melhorar a Wikiversidade.