Aldeia Numaboa
Um portal diferente em Português do Brasil
Informática da Aldeia

Tutoriais

Na Aldeia

Há 118 visitantes online

3630 registros
0 hoje
14 nesta semana
4 neste mês

Boas vindas: flor

Estatística

Membros: 3639
Artigos: 1045
Links: 90
Leituras: 6681350

Login



Kanji da hora




Faça contato






Sex

15

Dez

2006


16:14

Porque Assembly? PDF Imprimir Indique esta página
(41 votos, média 4.8 de 5)
Escrito por vovó Vicki   


Iniciante Assembly é uma linguagem de baixo nível, ou seja, é uma linguagem próxima daquela que as máquinas "entendem". Para utilizá-la é necessário conhecer não só a própria linguagem como também as características de funcionamento da máquina. Isto é coisa de doido? Nem tanto. Vou fazer algumas comparações e depois você pode decidir se vale a pena assemblar.

Arquivos executáveis de alta performance

Se você tem uma rotina que acaba fritando a CPU de tanto processamento, então pense no Assembly. Os executáveis criados em Assembly apresentam duas grandes vantagens: velocidade de execução e tamanho reduzido. Além disto, como a linguagem não tem firulas e vai direto ao ponto (ou aos registradores sorriso ), a execução exige muito menos recursos porque qualquer assembler supera a capacidade dos melhores compiladores de linguagens de alto nível. O software de performance crítica é um alvo natural para os programas em assembly puro.

Bibliotecas de link dinâmico (DLLs)

O MASM (da micro$oft), NASM (da equipe liderada por Simon Tatham e Julian Hall), o TASM da Borland, o A386 de Eric Isaacson ou o GoAsm de Jeremy Gordon, enfim, praticamente todos os assemblers mais conhecidos são capazes de construir bibliotecas de link dinâmico de altíssima performance que podem ser utilizadas pelos próprios programas assembladores, pelo Visual C/C++, Delphi, Visual Basic, e outras linguagens capazes de chamar uma DLL. Usar um assembler significa obter arquivos de tamanho mínimo e alto rendimento que podem ser interfaceados com qualquer linguagem apta a chamar uma DLL. Algoritmos que, por exigirem processamento pesado, não podem ser implementados em linguagens de alto nível, tornam-se viáveis quando escritos em Assembly.

Módulos de biblioteca para programas Visual C/C++

O MASM produz um formato de módulo objeto idêntico aos compiladores do Visual C/C++. Isto permite construir módulos ou bibliotecas em MASM e linká-los diretamente a programas C/C++. Com isto, programadores C/C++ podem manipular áreas de código críticas de forma muito eficiente, ou seja, podem otimizar a manipulação de gráficos, dados de alta velocidade, criptografia, compressão de dados e qualquer outra forma de manipulação de informação que exija muito processamento.

Software gratuito

Assembladores são softwares gratuitos, não podem ser comprados, vendidos ou incluídos em qualquer tipo de software comercial. Já que o MASM é uma das poucas coisas que a Microsoft disponibiliza sem cobrar um caminhão de US$... este é mais um motivo para começar a assemblar.


Para mim, estes quatro argumentos são mais do que suficientes. Aliás, sempre que posso e quando o peso do processamento é muito grande, opto pelo Assembly. É claro que não vou criar um aplicativo inteiro nesta linguagem, mesmo porque é para ganhar tempo na produção que existem os RAD da vida, mas enxertar código Assembly no Delphi ou no C++ são dois palitos. E o resultado é altamente compensador!

Na série de tutoriais desta seção vou tratar apenas de Assembly puro (nada de mistura com outras linguagens) porque se eu misturar assuntos o resultado acaba sendo uma salada. Uma vez dominado o arroz com feijão da linguagem, criar estas entidades híbridas não é nenhum bicho de sete cabeças. E aí, está afim de me acompanhar? Então vamos lá... siga a vovo Vicki vovó.

Links interessantes

Iczelion's Win32 Assembly Homepage: Um dos melhores sites que encontrei (um clássico da Internet) é o do Iczelion. O menino curte Assembly e, até o momento, já produziu cerca de 60 ótimos tutoriais em inglês baseados no MASM. Você pode fazer o download de tutoriais, software e exemplos de código fonte. O site está meio velhinho e não foi mais atualizado, mas o material é de primeira!

hutch's home page: Steve Hutchesson, de Sidnei (Austrália), é um nome que você vai encontrar com frequência no mundo assembly. Disponibiliza o pacote do MASM32, tools, snippets de códigos e é o autor de diversos softwares (freeware e código aberto) que são a salvação dos iniciantes e uma mão na roda para os experts.

Última atualização ( Ter, 21.04.2009 18:06 )
 

Topo

Topo

Exceto onde especificamente citado, todo material deste site está sob Licença Creative Commons