O que é Assembly?
Originada em 1949, a linguagem Assembly, também conhecida como linguagem de montagem ou código de máquina, trabalha com atributos primários do computador.
Ou seja, ao contrário de formas mais avançadas de programação, onde um programa específico compila códigos com instruções pré-definidas para elaborar um software, assembly utiliza códigos diretos do computador.
Basicamente, desenvolvedores atribuem listas de comandos simples que o computador pode executar somente com seu sistema operacional, e Assembly, como o nome implica, “monta” uma linguagem com base nesses comandos pré-estabelecidos.
Em meados de 49, com os primeiros computadores elétricos surgindo, o sistema de cartões perfurados foi sendo deixado para trás.
No entanto, as funções de um computador ainda eram primárias.
Funcionalidade:
Programadores utilizavam Assembly para, manualmente, listar a série de comandos que o computador precisava fazer para concluir uma única tarefa.
Era essencial que eles fossem o mais econômicos possíveis com suas linhas, já que a memória processual era limítrofe, e qualquer erro impediria a função de ser executada com eficiência.
A linguagem de Assembly nada mais é do que o código binário representado por uma combinação de números e letras para que os programadores se lembrassem de suas funções.
Após instruir a máquina com códigos específicos listados pelo desenvolvedor como o código fonte, ela precisava ser compilada por um assembler.
Resumindo, uma função específica é programada para fazer com que a máquina funcione.
O Assembly dá um “nome” a essa função, e o programador precisa listar função por função a ser ativada para desenvolver e executar uma certa ação.
Essa é a origem dos códigos atuais, e, pode-se dizer, a primeira linguagem de programação codificada.
No entanto, como se pode imaginar, programar funções avançadas com Assembly não era apenas trabalhoso, era ineficiente.
Cada linha precisava ser precisa, e requeria extrema consulta quanto ao código que o desenvolvedor atribuiu para a máquina.
Além disso, vale dizer que a linguagem não é universal, cada processador tem sua codificação, e, assim, não há como intercambiar funções.
Uso atual:
Apesar de sua eficiência ser questionável em termos de tempo e esforço, não há dúvidas das vantagens de utilizar Assembly quando falamos sobre economia de memória processual.
Dessa forma, Assembly ainda pode ser utilizada em situações como:
Desenvolver um executável que tem pouco tempo para localizar arquivos em uma grande Biblioteca de arquivos.
Desenvolver loops que gastam pouca memória processual (isso é muito usado em jogos que precisam de uma maior otimização de sistema)
Trabalhar com programas que precisam de processos em tempo real
Trabalhar com o código do sistema operacional de computadores
Assembly, dessa forma, é a base de todas as linguagens de programação, e ainda é utilizada por sua alta performance e velocidade.
Embora seja altamente complexa e pouco autossuficiente e portável, ainda é possível utilizá-la para melhorar a eficiência de programas.
Exemplo de "Hello, World!" em Assembly:
section .text align=0 global _start mensagem db "Hello, world!", 0x0a len equ $ - mensagem _start: mov eax, 4 ;SYS_write mov ebx, 1 ;Número do file descriptor (1=stdout) mov ecx, mensagem ;Ponteiro para a string. mov edx, len ; tamanho da mensagem int 0x80 mov eax, 1 int 0x8
Comentários
Postar um comentário
Obrigado pelo seu feedback!