Guia para o Assembly 80x86, de Gavin

Copyright (c) Gavin Estey, 1995, 1996. Todos os direitos reservados.

Este guia foi escrito originalmente para a Revista Game Developer's , de Phil Inch e após receber várias respostas positivas eu o expandi e melhorei. Tenho dispendido muito tempo trabalhando nele e gostaria de saber sua opinião.

Aqui estão alguns dos comentários que tenho recebido.

Se você quiser entrar em contato comigo utilize o e-mail: gavin@senator.demon.co.uk ou, através da CompuServe, o endereço 100767,1325. (Em inglês, por favor)

Recursos Úteis

Há vários recursos que você pode considerar úteis.
Lista de Instruções e temporizações
Se você possuir o TASM então o "Borland Turbo Assembler Quick Reference" possui uma lista de instruções e temporizações atualizada até o 486. O "Intel Pentium Family User's Manual: Volume 3" também será igualmente útil.

Lista de Interrupções
Existem vários livros que possuem esta informação mas o que há de mais atualizado é a Lista de Interrupções de Ralf Brown, disponível gratuitamente em quatro partes no endereço abaixo:
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/interXX[a-d].zip
Onde XX é a versão (vá até lá).

Um livro que cobre todos estes tópicos e é uma referência útil ao assembly é:

The Revolutionary Guide to Assembly Language
Vitaly Maljugin, Jacov Izrailevich et al
Wrox Press
ISBN: 1-874416-12-5

Sumário

Parte I - Introdução ao hardware

Revisão da Família 80x86 · Representação de números em binário · Registradores · Segmentos e offsets · A Pilha

Parte II - Uma Introdução a Instruções Assembly

Push e Pop: Duas Instruções para manuseio da Pilha · Tipos de Operandos · Algumas Instruções que você precisará conhecer · Seu primeiro programa assembly · Instruções de Montagem

Parte III - Entrada e Controle de Fluxo

Tornando as coisas mais fáceis · Entrada pelo Teclado · Imprimindo um Caracter · Controle de Fluxo · Instruções de Desvio Condicional · Programa Exemplo

Parte IV - Procedimentos e Macros

Algumas Instruções que você precisa conhecer · Introdução a Procedimentos · Passagem de parâmetros · O que são "Modelos de Memória"? · Macros · Macros com Parâmetros

Parte V - Arquivos

Funções de Arquivos · Como salvar o manipulador de arquivo · Utilizando as funções FindFirst e FindNext

Parte VI - Strings, Deslocamentos e Depuradores

Instruções para Strings · Como determinar a versão do DOS · Pushes e Pops Múltiplos · As Instruções PUSHA/PUSHAD e POPA/POPAD · Utilizando Deslocamentos para Multiplicações e Divisões mais rápidas · Repetições · Como utilizar um depurador

Parte VII - Escrevendo no Vídeo

Mais saídas em modo texto · Modo 13h · Primeiro, verifique se o modo 13h é possível · Estabelecendo o Modo de Vídeo · Algumas Otimizações
Bem, é isso aí. Espero que você tenha apreciado a leitura de meu tutorial e aprendido alguma coisa. Meu tutorial não está concluído. A Parte VII precisa ser mais trabalhada e eu gostaria de escrever capítulos sobre o uso de C com assembly e otimização. Também está planejado um índice.

Por enquanto você poderá entrar em contato comigo se precisar de alguma ajuda. (Em inglês, por favor)

De volta ao topo