Índice

Assembly

Meus conhecimentos em Assembly x86 são tacanhos, aqui só passo a bola pra frente, são informações úteis pra quem se interessa pelo assunto.



BORDER=0 Primeiras palavras

Costumo separar os programadores 'assembly', a grosso modo, em duas categorias: os racionais e os passionais.
Os racionais costumam utilizar a linguagem 'assembly' com bastante parcimônia, utilizam somente onde julgam necessário e/ou vantajoso.
Os passionais utilizam o assembly sempre que possível.

Eu basicamente sou do tipo racional, costumo utilizar basicamente linguagem C, que oferece um bom desempenho, e quando necessário e/ou vantajoso penduro alguma coisa em 'assembly'.

Esclarecido o tipo de doido que sou, espero que tenha ficado claro o enfoque adotado à frente.



BORDER=0 Alguns arquivos

Tenho utilizado um editor de texto gratuito chamado ConText, www.context.cx/, vide a seção Programas diversos.
Por isto adaptei um arquivo de sintaxe para o NASM (nasm_chl.zip -3kb) e um arquivo WinHelp para assembly x86 sintaxe Intel (asm_x86_help.zip - 145kb) ou seja este arquivo WinHelp pode ser utilizado com outros assemblers como o MASM e o TASM.



BORDER=0 Assembly para programadores C/C++

Um bom tutorial em inglês sobre programação 'assembly' para programadores C/C++ com o uso do NASM. É bem leve: +-150 páginas.
Ir para www.drpaulcarter.com/pcasm/



BORDER=0 Jornal e revista digitais

Revista de Tenie Remmel: Ir para www.simtel.net/simcgi-bin/dosfind.cgi?queryinput=ptt00

Página do Mammom (com 9 edições de um jornal de assembly, muito bom): Ir para asmjournal.freeservers.com



BORDER=0 NASM (Netwide Assembler) - (Gratuito - DOS/WIN/Linux)

Este é o assembler que utilizo. Algumas virtudes do NASM:

1. É gratuito.
2. Boa documentação oficial disponível.
3. É multiplataforma, ou seja pode-se utilizá-lo no DOS, Windows, Linux, etc. (Claro que o código fonte deve prever estas se necessário)
4. Gera diversos tipos de código objeto.
5. É bom.

Onde: sourceforge.net/projects/nasm

Lá no site do NASM o manual é distribuído em formato de "código" fonte que tem de ser executada por um interpretador Perl... pode dar um certo trabalho. Assim disponibilizo aqui o referido manual nos seguintes formatos:
- PostScript (nasmdoc_postscript.zip - 186kb).
- Texto (
nasmdoc_text.zip - 112kb).
- WinHelp (
nasmdoc_winhelp.zip - 265kb).

Obs.: para imprimir o melhor formato é o PostScript, para visualizar e imprimir utilize, por exemplo, o programa gratuito GhostView, vide a seção
Programas diversos.



BORDER=0 OllyDebuger (Gratuito - Win)

É um bom 'debuger' gratuito, mas carece de um manual tendo que se aprender a utilizá-lo na base da tentativa-e-erro. Serve tanto pra "debugar" como para fuçar código "assembly" alheio. Consegue reconhecer a biblioteca C do Borland C++ 5.x, ou seja mostra os respectivos 'labels'.
Ir para home.t-online.de/home/Ollydbg


BORDER=0 Win32 Disassembler do Sang Cho

Um disassembler para programas Windows 32 bits. Acompanha código fonte em linguagem C. Útil para estudar códigos alheios...
Antigamente estava disponível em www.geocities.com/~sangcho, atualmente se encontre em
http://cyber.chongju.ac.kr/~sangcho/disasm.html

Mas tomo a liberdade de disponibilizar aqui também:
http://www.ioxio.com.br/misc/dsassm02.zip  (acompanha executável e código fonte)

Índice
rymaeda@yahoo.com
http://www.ioxio.com.br