Linguagem Assembly
Por: Kleber.Oliveira • 5/3/2018 • 2.954 Palavras (12 Páginas) • 467 Visualizações
...
6.1.8 MMX (MultiMedia eXtension) / (Extensão multimídia) 12
6.1.9 SSE (Streaming SIMD Extensions) / (Extensão de transmissões SIMD) 12
7 Programação 12
7.1 Pilha 12
7.2 Instruções básicas 13
7.2.1 Movimentação de dados 13
7.2.2 Soma 13
7.2.3 Subtração 13
7.2.4 Comparação 13
7.2.5 Jump 13
7.2.5.1 Instruções do comando jump 14
7.3 Exemplos 14
7.3.1 “Hello World!” 14
7.3.2 Estrutura de repetição 15
7.3.3 Desvio condicional 15
7.4 Comparações 15
7.4.1 Vantagens do assembly 15
7.4.2 Desvantagens do assembly 16
7.4.3 Vantagens das linguagens de alto nível 16
7.4.4 Desvantagens das linguagens de alto nível _ 17
7.5 Assembly vs Java - Desvio condicional 17
8 Conclusão 18
9 Referências Bibliográficas 19
Resumo
Os mitos criados a respeito do assembly espantam os aspirantes da programação no primeiro contato com esta linguagem. Grandes dificuldades e obstáculos são colocados para quem começa a estudar a referida linguagem, contudo, neste trabalho veremos detalhes do seu surgimento em 1950, suas principais características e componentes, exemplos de códigos, comparações com outras linguagens e alguns de seus principais usos atuais.
Mediante o conhecimento básico da estrutura dos processadores, isto é, do funcionamento dos registradores, juntamente com o conjunto de instruções mnemônicas do assembly, veremos que a programação nesta linguagem não se torna tão complicada.
No ano de 2013 foi proposta uma nova arquitetura dos processadores da Intel, a qual expandiria os registradores para trabalharem com alguns bits a mais, contudo, neste trabalho abordaremos apenas os registradores de 32 bits.
Apesar de não ser muito familiarizado pelos programadores, o assembly acaba sendo misturado em meio às linguagens de alto nível, uma vez que tem sido usado apenas onde a excelência e maior desempenho do código sejam os principais objetivos.
---------------------------------------------------------------
Abstract
The myths created around Assembly may scared programming’s newcomers at first sight. Big difficulties and obstacles are prepared for those who start to study such language, however, on this document we will details about its creation in 1950, main characteristics and components, code samples, comparisons with other languages and some of Assembly current usage.
By the means of knowledge of processor’s structure, that is, of registers’ functioning, aside with the Assembly’s mnemonics instructions, we will see that Assembling programming isn’t such hard task.
In 2013 it was purposed a new architecture of Intel processors, which would expand the registers to work with more bits, still, on this paper we handle only 32 bits registers.
Although Assembly isn’t such a familiarized language with most programmers, this language end up being pointed with other high level languages, once its been used only for excellence and better performance of this language are the main objectives.
---------------------------------------------------------------
1. História
Também conhecida como linguagem de montagem, o assembly surgiu em meados da década de 50 e foi provavelmente a primeira linguagem de programação da história, a qual é composta de instruções mnemônicas (sistema de códigos operacionais que lembram suas funções), fato que facilitou a vida do programador, uma vez que, este, estava acostumado com a difícil tarefa de se programar em linguagem de máquina.
Assembly foi amplamente utilizado em diversas aplicações até os anos 80, quando foi substituída pelas linguagens de alto nível, pois precisavam de um aumento da produtividade de software.
2. Características
Esta linguagem é extremamente ligada à arquitetura de um certo processador e dependente do hardware, portanto, há diversos tipos de linguagem assembly, cada qual utilizada para um processador específico.
Sendo assim, não se trata de uma linguagem portável, uma vez que o código assembly escrito para determinada arquitetura de processadores nunca irá rodar num processador de uma arquitetura diferente sem que o código seja reescrito completamente.
3. Uso atual
Embora não seja uma linguagem portável, torna-se flexível quanto ao uso, podendo ser utilizada na criação de programas simples de DOS (Disk Operating System), até sistemas operacionais mais elaborados.
Geralmente é utilizada dentro de outros programas, com a finalidade de fazer alterações que não seriam possíveis com outras linguagens.
Por este fato citado anteriormente, o assembly é usado em vários aplicativos de caráter cracker e hacker, pois, com o uso dessa linguagem, estes conseguem abrir brechas na segurança de diversos programas.
Também é utilizada em diversas aplicações, tais como:
- Controle de processos com resposta em tempo real, graças à capacidade de criar programas mais rápidos e com melhor desempenho. Nessas aplicações, o processador executa um bloco de instruções num determinado tempo.
- Comunicação e transferência de dados, devido à possibilidade do acesso direto ao hardware, o assembly é usado na implementação desse tipo de aplicação.
- Otimização de sub-tarefas da programação de alto nível, um programa pode, se necessário, misturar os níveis de linguagem, obtendo-se programas escritos em linguagem de alto
...