O que é uma linguagem Assembly
Linguagens de montagem são linguagens de baixo nível que são específicas para uma arquitetura de computador específica. Por comparação, muitas linguagens de programação de alto nível podem ser usadas em várias arquiteturas, mas requerem interpretação ou compilação antes de atingir o processador.
BREAKING Assembly Language
As linguagens assembly foram amplamente substituídas por linguagens de programação de alto nível. Os engenheiros de software preferem escrever um único aplicativo que funcione em todos os PCs - independentemente de terem processadores Intel ou AMD - usando linguagens de alto nível. Em comparação, eles seriam obrigados a escrever aplicativos separados para cada tipo de arquitetura de computador usando linguagens de montagem. Esses aplicativos se tornariam extremamente difíceis de manter, pois cada atualização implicaria a atualização de vários aplicativos diferentes.
As instruções mais básicas executadas por um computador são códigos binários, consistindo de uns e zeros, pois são diretamente traduzíveis para os estados ligado e desligado da eletricidade que se move através de um processador. Obviamente, é impraticável para engenheiros de software - ou qualquer humano - traduzir informações em uns e zeros, então as linguagens de montagem foram desenvolvidas para simplificar o processo. Essas linguagens assembly ainda envolviam muito trabalho na conversão de código em diferentes arquiteturas; portanto, as linguagens de programação de nível superior vieram atrás delas.
Dito isto, as linguagens assembly ainda são comuns em certos mercados que exigem alta velocidade e desempenho. Os simuladores de vôo podem usar arquiteturas altamente especializadas nas quais linguagens de nível superior não funcionam, o que significa que as linguagens de montagem podem ser uma necessidade. As operações de negociação de alta frequência também podem usar linguagens assembly, uma vez que podem executar análises e transações muito mais rapidamente que as linguagens de alto nível, o que pode resultar em melhores receitas e lucratividade em relação à concorrência.
Exemplo de idiomas de montagem
Os idiomas de assembly enviam instruções para o processador, a memória e outros componentes do computador. Essas instruções são versões ligeiramente mais abstratas do código binário, que consiste apenas em uns e zeros. Por exemplo, o código 10110000 01100001 informa ao processador para mover um valor de 8 bits para um registro. Usando o formato hexadecimal, essas instruções podem ser reduzidas para B0 61. As linguagens assembly tornam isso ainda mais compreensível, introduzindo operadores, como MOV AL, 61h, em que MOV é uma abreviação de "move".
As linguagens de programação de nível superior geralmente lidam com essas tarefas automaticamente e permitem que os engenheiros de software se concentrem em tarefas de nível muito superior, como atribuir variáveis e concluir operações nelas. Por exemplo, um engenheiro de software pode definir uma variável em JavaScript usando let myVariable = 123 e essa variável receberá automaticamente um local na memória com base no tamanho do número inteiro 123 e outros fatores. O engenheiro de software não precisa se preocupar com o gerenciamento de memória e, em vez disso, pode se concentrar no que a variável está fazendo.
