Pular para o conteúdo principal

Assembly - Significado e funcionalidade


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


Se gostou do conteúdo, considere pagar-me um café:

Curso de HTML Que eu recomendo:

Curso de criação de sites profissionais:

Curso  de HTML,  CSS e JavaScript:

Canal no Youtube:

Comentários

Mais vistas

Autocode - Significado e Funcionalidade

O Que é Autocode? O Autocode foi uma das primeiras linguagens de programação de computador, desenvolvida em 1952 por Alick Glennie para o computador Mark 1 na Universidade

HTML - Significado e Funcionalidade

O que é HTML? HTML é a sigla em inglês para Hypertext Markup Language, que traduzimos para o português como linguagem de marcação de hipertexto. O HTML é parte fundamental das

Semáforo - HTML, CSS e JavaScript - Tutorial

Semáforo Funcional: Aprenda a criar um semáforo funcional com este tutorial detalhado. Descubra como implementar a lógica de controle de um semáforo usando HTML, CSS e JavaScript.