Tecnologia
Introdução a programação
Assembly
Haroldo Gambini Santos
Universidade Federal de Ouro Preto - UFOP
5 de novembro de 2009
Haroldo Gambini Santos
Sistemas de Computação
1/30
Assembly
Porque não C (ou outra linguagem de alto nível)?
C é mais simples
Mais próximo da linguagem natural (inglês, no caso)
C é portável
Um mesmo programa pode rodar nos SOs Linux ou
Windows, usando processadores Power PC ou Intel
Haroldo Gambini Santos
Sistemas de Computação
2/30
Assembly
Porque programar em
Código em
Assembly
Assembly pode ser mais rápido e menor do que
código gerado por compiladores
Assembly permite o acesso direto a recursos do hardware, o que pode ser difícil em linguagens de alto nível
Programar em
Assembly permite que se ganhe um
conhecimento profundo de como os computadores funcionam Haroldo Gambini Santos
Sistemas de Computação
3/30
Assembly
Porque programar em
Código em
Assembly
Assembly pode ser mais rápido e menor do que
código gerado por compiladores
Assembly permite o acesso direto a recursos do hardware, o que pode ser difícil em linguagens de alto nível
Programar em
Assembly permite que se ganhe um
conhecimento profundo de como os computadores funcionam Conclusão
Saber
Assembly é muito útil mesmo que nunca se programe
diretamente nele!
Haroldo Gambini Santos
Sistemas de Computação
3/30
O
Assembly do 80386
Características
Primeiro processador da Intel de 32 bits com recursos
modernos:
Modo protegido de memória (nas versões antigas, como o
8086 havia o modo real, onde cada programa poderia bagunçar livremente a memória de algum outro)
Todos os sistemas operacionais modernos operam rodando sobre o modo protegido
Multitarefa
Novos chips da Intel mantém compatibilidade: Pentium,
Core2Duo, Atom,
...
Existem diversas ferramentas livres na Internet que facilitam o desenvolvimento desse tipo de