Investor's wiki

Linguagem de montagem

Linguagem de montagem

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 legíveis por humanos.

As 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 nível superior – como Python ou JavaScript – nas quais os programas de software modernos são escritos.

Como funcionam as linguagens assembly

Fundamentalmente, as instruções mais básicas executadas por um computador são códigos binários, consistindo de 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 que nenhum 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 articular seus comandos em um formato 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 “And”, “Or” e “Else” que são familiar ao uso diário.

Em última análise, no entanto, esses comandos de alto nível precisam ser traduzidos em 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 ainda permanecem essenciais para o funcionamento geral de um computador.

Exemplo do mundo real de uma linguagem assembly

Hoje, as linguagens assembly continuam sendo 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 as finanças são as plataformas de negociação de alta frequência (HFT) usadas por algumas empresas financeiras. Nesse mercado, a velocidade e a precisão das transações são de suma importância para que as estratégias de negociação HFT sejam lucrativas. Portanto, a fim de obter vantagem sobre seus concorrentes, algumas empresas de HFT escreveram seus softwares de negociação diretamente em linguagens assembly, tornando desnecessário esperar que os comandos de uma linguagem de nível superior sejam traduzidos em linguagem de máquina.

##Destaques

  • É uma ponte necessária entre os programas de software e suas plataformas de hardware subjacentes.

  • Uma linguagem assembly é um tipo de linguagem de programação que traduz linguagens de alto nível em linguagem de máquina.

  • 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.