» Início » Desenvolvimento » Desenvolv de Software » Surgimento da Linguagem e Suas Aplicações
 
Avaliação: | Publicado em: 09/09/2006
Surgimento da Linguagem e Suas Aplicações
Adriano Oliveira Técnico em contabilidade, mas nas horas livres estuda programação. Tem conhecimentos de Borland C++ Builder, VisualBasic, HTML, Assembly.


E aí, pessoal, tudo bem?

Vamos ver como surgiu, por cima, a Linguagem Assembly.

Nos início da "era" da informática, em meados do século passado, a tarefa de programar computadores não era simples.

Não existiam os microprocessadores como os conhecemos hoje e programar computadores envolvia o processo de pôr e retirar válvulas daqueles primeiros computadores.

Assim, o programador devia conhecer muito bem o hardware para fazer um simples programa que calculasse a média de três números e era muito trabalhoso.

Para simplificar um pouco, começou-se a usar esquemas que permitissem representar as instruções e dados de modo mais simples que dizer: "essa lâmpada fica acesa, esta outra também, a próxima, apagada".

Há uma história que diz que foi nessa época que surgiu a palavra "debug" e suas derivadas.

Diz-se que, certa vez um supercomputador(no padrão daquele tempo) deixou de apresentar as respostas esperadas e então os técnicos começaram a procurar o motivo da falha.

Depois de muito quebrarem a cabeça, viram que havia um mosquito, que em inglês é bug, tostado numa das válvulas que, por sua vez estava queimada.

Retiram o mosquito, colocaram uma válvula nova e a máquina voltou a trabalhar corretamente.

A partir de então, quando um programa apresenta um comportamento estranho, inesperado, dizemos que ele tem um bug e precisamos debugá-lo, ou melhor, depurá-lo, em bom português.

Os programadores passaram a representar com o algarismo "1" a válvula ativa e com o "0", a desativada. Surgia assim a notação binária, em que qualquer dado podia ser representado com uma seqüência de uns e zeros da maneira que é usada ainda hoje.

Assim, podiam escrever um "programa" mais ou menos assim(aqui esse programa é para um processador da família x86):

101110000011001011111111
100000111100000001000000

Essa é a chamada linguagem de máquina, a qual é compreendida apenas pelo computador e, é claro, por um programador maluco que consiga memorizar essas e outras instruções em binário.;)

Mas mesmo com o uso do sistema binário para representar instruções e dados, a leitura ainda era complicada e ainda mais a depuração.

Fizeram outra simplificação: passaram a classificar as instruções binárias em famílias e, a cada uma dessas instruções, deram um nome sugestivo.

Surgia assim o Assembly, que nada mais é que representar as instruções binárias com símbolos que nós, simples humanos conseguíamos ler com mais facilidade os programas.

Assim, as duas linhas acima, foi traduzida como:

MOV AX, 0FF32h

ADD AX, 040h

E em alguma linguagem de alto nível, como o bom e velho Basic(que se lembra dessa relíquia?), ficaria mais ou menos assim:

AX = &HFF32
AX = AX + &H40


Para evitar um trabalho manual de tradução de um programa Assembly para a linguagem de máquina, obrigaram o próprio computador a fazer esse trabalho sujo, através de softwares que foram chamados de "Assemblers".

Assim, a linguagem que você vai aprender se chama Assembly e não Assembler, como muitos pensam, pois o segundo, o assembler, apenas converte os códigos simbólicos para código de máquina, de modo que o microprocessador compreenda e execute o programa do modo planejado.

A esses códigos simbólicos chamamos de códigos operacionais ou OP-CODES, como são mais conhecidos.

Vejamos agora em que podemos usar essa linguagem.

O primeiro e mais importante uso do Assembly é no desenvolvimento de algumas partes dos Sistemas Operacionais, como o Windows, as quais precisam de alto desempenho.

O segundo uso está no desenvolvimento de drivers de dispositivos, como os drivers de mouses, impressoras etc.

O próximo uso é no desenvolvimento de código malicioso, como os vírus.

É muito usado também na implementação de rotinas velocíssimas de compressão de dados, de encriptação de dados, em otimização de rotinas gráficas.

Tudo isso por ser muito rápida e garantir um código muito pequeno, se comparado com as linguagens de nível mais alto, como o VisualBasic, o C++, o Pascal, entre outras tantas.

Espero que você tenha gostado deste artigo.

No próximo você será apresentado aos sistemas de numeração mais usados quando se programa em Assembly.

Até a próxima!


Claudionor Rodrigues Bernardino <yclaudionor@Hotmail.com>
Estou gostando de seus artigos, más penso que se houvesse um pouquinho mais de detalhes sobre a surgimento do "assembly" seria muito mais interessante. ex: época em que surgiu, que forma os pioneiros na utilização da linguagem, onde surgiu.

Não obstante o observação o artigo é muito bom.

Elton de oliveira <digoton@ig.com.br>
sera que tem comentar sobre interupcao externa, usando porta serial COM2 valeu : Não avaliado
Hiran Luyiz Zoccoli
Com seus artigos comecei a interessar-me pela programação. Parabens. Obrigado.