Neste primeiro artigo explicarei basicamente como funciona o Assembly e o procedimento de chamada de funções, pois sinto que é o ponto de união mais simples entre a lógica de um programador de C/C++ e a lógica em assembly. Logo farei um post explicando as instruções mais utilizadas no assembly, para facilitar também aqueles que desejarem tomar a Pílula Vermelha (ou seja, programar e/ou debugar um pouco mais afundo em assembly).
Utilizarei o GDB (Gnu Debugger) para exemplificar as funcionalidades, creio que isto trará a teoria quase a prática, já que qualquer um pode usar e testar em casa. Os exemplos serão em Linux, pois é o S.O. (Sistema Operacional) que utilizo, mas, funcionam perfeitamente em qualquer outro sistema.
Para os iniciantes em Assembly, deixo claro que não existem grandes diferenças entre trabalhar com Assembly em Linux, Windows, FreeBSD ou seja lá o que for. Ao menos não para o que colocamos neste tutorial. O que pode mudar é referente ao processador, que consideramos aqui somente x86 (Intel, Athlon, core2duo, etc..)
Leia o artigo completo em:
http://docs.google.com/Doc?id=dgwgq5zv_716sxkzj

6 comentários:
PingBack @ www.weberress.com
AEEE Parabéns! Ficou bem legal mesmo!!
Opa... ficou muito legal. Deu pra pegar bem, sem firulas. Talvez para melhorar seria legal colocar uma tabela com snapshot do stack nos momentos mais complicados... sem querer abusar :)
Valeu.
ps. Conhece o Guilherme Royer daí de Joinville?
Eduardo, primeiro gostaria de agradecer a leitura e ao comentário. Os snapshots creio que vão ajudar sim, colocarei assim que tiver tempo :)
Quanto a conhecer o Guilherme Royer, creio que não o conheço, porem o nome não me é estranho, e da micro-foto do vivaolinux dele, me pareceu conhecido. Então é possivel.. hehehe.
Grande abraço!
Muito bom, parabéns.
Postar um comentário