Sunteți pe pagina 1din 4

Conceito de Linguagem Assembly

Por vezes chamada de assembly ou ASL, a linguagem assembly uma linguagem de


baixo nvel de programao usada para a interface com o hardware do computador. A
linguagem assembly usa comandos estruturados em vez de nmeros e permite que os
programadores consigam ler mais facilmente o cdigo.
A linguagem assembly implementa uma representao simblica do cdigo de mquina
necessrio para programar uma determinada arquitetura de CPU. Ela , tambm,
conhecida como cdigo assembly. O termo frequentemente usado tambm como
sinnimo de 2GL.
A linguagem assembly a linguagem de programao mais bsica disponvel para
qualquer processador. Com a linguagem assembly, um programador funciona apenas
com operaes que so implementadas diretamente na CPU fsica.
As linguagens assembly geralmente no possuem convenincias de alto nvel, como
variveis e funes, e elas no so portteis entre vrias famlias de processadores. Ela
tem as mesmas estruturas e conjunto de comandos como linguagem de mquina, mas
permite que um programador use nomes em vez de nmeros. Esta linguagem ainda
til para os programadores quando a velocidade necessria ou quando eles precisam
realizar uma operao que no possvel em linguagens de alto nvel.
A histria das linguagens assembly est intimamente ligada do programa armazenado
no computador. Quando o EDSAC (Electronic Delay Storage Automatic Calculator
um dos primeiros computadores fabricados no Reino Unido) foi incorporado com um
assembler, que usava a mnemnica (auxiliar de memria) em 1949. Stan Poley escreveu
o Programa de Montagem ptica Simblica ou SOAP (Symbolic Optimal Assembly
Program) para o computador IBM 650 em 1955.
As linguagens assembly comearam a ser usadas amplamente, pois aliviam os
programadores de tarefas tediosas, como por exemplo, lembrar de cdigos numricos. O
seu uso, entretanto, foi reduzido substancialmente nos anos 80 devido introduo de
linguagens de programao de alto nvel.
Ao longo da histria, muitos programas foram escritos completamente em linguagem
assembly. Esta tendncia foi alterada com a introduo do MCP Burroughs em 1961,
que foi escrito em ESPOL, uma linguagem baseada no Algol. Alm disso, muitas
aplicaes comerciais tambm foram escritas com o uso de linguagens assembly, tais
como, grandes quantidades de software mainframe da IBM.
Os microcomputadores, nos seus estgios iniciais, dependiam principalmente de
linguagens assembly codificadas manualmente. Isso deveu-se falta de compiladores de
linguagem de alto nvel destinados a serem usados em microcomputadores. Outra razo
pode derivar do facto das linguagens assembly na poca terem muitas vantagens, como
um tamanho reduzido, alta velocidade, menos sobrecarga e alta confiabilidade.
Durante esse perodo, muitos programas grandes foram escritos em linguagens
assembly, incluindo os sistemas operativos Lotus 1-2-3 e o IBM PC DOS. Muitos jogos
de vdeo tambm foram escritos em linguagens assembly, mesmo durante a dcada de
1990. O jogo NBA Jam, um desses jogos da poca (1993). A maioria dos
computadoresdo perodo entre 1980 e 1990 foram desenvolvidos principalmente por
linguagens assembly. Os exemplos incluem o Atari ST e os sistemas MSX daquele
tempo.

Assembly rpido
O gerenciamento de memria na linguagem Java, por exemplo, feito de forma
automtica.
A vantagem disso que o programador no precisa lidar com ponteiros, endereos de
memria, alocao e liberao de memria (o que considerado por muitos como as
coisas mais difceis em programao).
A desvantagem que isso no perfeito, e no passa nem perto de ser algo 100%
eficiente.
Em Assembly no existe nada automtico assim, voc programador que vai mandar e
controlar tudo. E isso essencial, ter o controle de tudo, quando necessrio
funcionamento mximo, como em microcontroladores e sistemas eletrnicos (imagina
um sistema lento em uma aeronave? No d, em questes e sistemas de segurana,
precisamos de processamento mximo).

Assembly exige menos memria


Por dar total acesso e uso de cada espao de memria ao programador, o Assembly
permite que as aplicaes feitas nessa linguagem possam ocupar e usar o mnimo de
memria possvel.
Com tantos computadores poderosos de gigas e gigas de memria e processamento,
por qu se preocupar com o tanto de memria utilizada? pode se perguntar o leitor e
programador de linguagens de alto nvel.
A linguagem de Assembly no somente para computadores.
Existem microcontroladores com meros kilobytes de memria, em que no possvel
fazer nem um Hello world em diversas outras linguagens de programao, e s
possvel programar neles, e em outros dispositivos digitais, com Assembly.
Do ponto de vista prtico, nenhum empresrio vai gastar Megas de memria em simples
circuitos, como de calculadores, freezer e outros sistemas digitais, quando se pode
gastar apenas poucos Kb usando a linguagem Assembly.
Se assembly usa menos memria, mais barato ir sair o projeto. Isso no importante,
essencial para todos os engenheiros.
Ser eficiente s na teoria no adianta, tem que ser eficiente e economicamente vivel.

Assembly d acesso direto ao hardware


Nem todo equipamento bonitinho e perfeito para se trabalhar como um computador.
Existem dispositivos sem teclado, sem tela, com tipos diferentes de memria, de
processador e com arquiteturas e funcionamentos diferentes. Obviamente, a grande
maioria das outras linguagens de programao no seriam nem cogitadas para se usar
nesses sistemas.
Embora hoje em dia os vdeo-games sejam to potentes quanto os computadores, eles
no so feitos da mesma maneira que os PC's e Notebooks. Eles no tem as mesmas
peas, acessrios e recursos que facilitam a programao neles.
Ou seja, em alguns casos, S POSSVEL DE SE TRABALHAR COM ASSEMBLY.
Em dcadas passadas, no s o hardware dos vdeo games eram controlador por mas os
jogos eram feitos inteiramente com o uso da linguagem Assembly.

Os programas em Assembly so menores


Embora os cdigos tendam a ser bem maiores que os das outras linguagens, depois de
pronto, os aplicativos em Assembly so bem menores em tamanho.
Isso se deve ao fato do programa em Assembly ser muito eficiente e consumir pouca
memria.
Alm de no ter outras aplicaes atuando por debaixo dos panos, como acontece em
outras linguagens.

Segurana no Assembly: uma faca de dois gumes


Esse tpico pode ser tanto uma vantagem como uma desvantagem.
Sistemas feitos em linguagens de alto nvel so freqentemente burlados por hackers,
pois as aplicaes que fazem uso de tais linguagens no mostram nem oferecem tudo
aos programadores. A gigantesca maioria desses profissionais no sabe ao que est
ocorrendo em baixo nvel.
E mesmo que soubessem, a maioria das linguagens simplesmente no oferece a
possibilidade de se trabalhar prximo ao hardware.
Como um aplicativo em Assembly age nos mais baixos e fundamentais nveis, um
programa bem feito nessa linguagem bem mais seguro em outras linguagens, pois
voc pode programar e controlar manualmente cada detalhe do sistema, e de sua
mquina.
Porm, como dissemos anteriormente, cdigos em Assembly so grandes e complexos.
medida que as aplicaes e sistemas forem ficando maiores, o controle sobre tudo vai
ficando cada vez menor.
Ou seja, um bom programador Assembly pode prover segurana e controle que nenhum
outro pode ter. Porm, ele tambm pode abrir brechas que outras linguagens no
abririam.
Fica bvio o motivo de vrios aplicativos de cunho hacker e cracker usarem Assembly.
Assembly serve para aprender como as coisas funcionam
H pessoas que estudam no por serem obrigadas, por estarem na faculdade ou por ser
necessrio para ganhar dinheiro em sua profisso.
H pessoas que simplesmente gostam de estudar, seja por paixo, hobbie ou tdio.
A definio correta de hacker daquele indivduo que quer saber como e porque as
coisas funcionam. Costuma-se chamar escovador de bits aquele que curioso, tem
interesse em saber e mexer nos computadores em nveis mais fundamentais possveis.
No importa se programa em C, Java, .NET ou at mesmo para Web, saber Assembly
vai te dar uma noo de como as coisas realmente funcionam, vai abrir sua mente,
melhorar seu raciocnio e compreenso sobre computadores e dispositivos digitais,
deixando voc, por natureza, diferenciado dos outros profissionais que simplesmente
usam as tecnologias, sem saber o que est ocorrendo debaixo de seu nariz.

S-ar putea să vă placă și