Definição da linguagem assembly

Publicado por Javier Ricardo

O que é uma linguagem assembly?


Uma linguagem assembly é um tipo de linguagem de programação de baixo nível que se destina a se comunicar diretamente com o hardware de um computador.
Ao contrário da linguagem de máquina, que consiste em caracteres binários e hexadecimais, as linguagens assembly são projetadas para serem lidas por humanos.


Linguagens de programação de baixo nível, como a linguagem assembly, são uma ponte necessária entre o hardware subjacente de um computador e as linguagens de programação de alto nível – como Python ou JavaScript – nas quais os programas de software modernos são escritos.


Principais vantagens

  • Uma linguagem assembly é um tipo de linguagem de programação que traduz linguagens de alto nível em linguagem de máquina.
  • É uma ponte necessária entre os programas de software e suas plataformas de hardware subjacentes.
  • Hoje, as linguagens de montagem raramente são escritas diretamente, embora ainda sejam usadas em alguns aplicativos de nicho, como quando os requisitos de desempenho são particularmente altos.

Como funcionam as linguagens assembly


Fundamentalmente, as instruções mais básicas executadas por um computador são códigos binários, consistindo em uns e zeros.
Esses códigos são traduzidos diretamente nos estados “ligado” e “desligado” da eletricidade que se move pelos circuitos físicos do computador. Em essência, esses códigos simples formam a base da “linguagem de máquina”, a variedade mais fundamental de linguagem de programação.


Claro, nenhum ser humano seria capaz de construir programas de software modernos programando explicitamente uns e zeros.
Em vez disso, os programadores humanos devem contar com várias camadas de abstração que podem permitir a si mesmos articular seus comandos em um formato que seja mais intuitivo para os humanos. Especificamente, os programadores modernos emitem comandos nas chamadas “linguagens de alto nível”, que utilizam sintaxe intuitiva, como palavras e frases inteiras em inglês, bem como operadores lógicos como “E”, “Ou” e “Else” que são familiar para o uso diário.


Em última análise, no entanto, esses comandos de alto nível precisam ser traduzidos para a linguagem de máquina.
Em vez de fazer isso manualmente, os programadores contam com linguagens assembly, cujo objetivo é traduzir automaticamente entre essas linguagens de alto e baixo nível. As primeiras linguagens assembly foram desenvolvidas na década de 1940 e, embora os programadores modernos gastem muito pouco tempo lidando com linguagens assembly, elas permanecem essenciais para o funcionamento geral de um computador. 

Exemplo do mundo real de uma linguagem assembly


Hoje, as linguagens assembly continuam a ser objeto de estudo de estudantes de ciência da computação, a fim de ajudá-los a entender como o software moderno se relaciona com suas plataformas de hardware subjacentes.
Em alguns casos, os programadores devem continuar a escrever em linguagens assembly, como quando as demandas de desempenho são especialmente altas ou quando o hardware em questão é incompatível com qualquer linguagem de alto nível atual.


Um exemplo relevante para finanças são as plataformas de negociação de alta frequência (HFT) usadas por algumas empresas financeiras.
Neste mercado, a velocidade e a precisão das transações são de suma importância para que as estratégias de negociação de HFT sejam lucrativas. Portanto, para obter uma vantagem sobre seus concorrentes, algumas empresas de HFT escreveram seu software de negociação diretamente em linguagens assembly, tornando desnecessário esperar que os comandos de uma linguagem de nível superior sejam traduzidos para a linguagem de máquina.