Assembler básico
Esta apostila tem o objetivo de mostrar ao aluno a linguagem de programação Assembly baseado na arquitetura X86 Intel.
Trabalhar com Assembly permite ao programador ter um controle total sobre o computador e mostra-lhe melhor como é o funcionamento do computador, além de permitir o desenvolvimento de programas de forma mais consistente. Os programas em assembler são mais rápidos, menores e mais poderosos.
Registradores da CPU.
Para o propósito didático, vamos focar registradores de 16 bits. A CPU possui 4 registradores internos, cada um de 16 bits. São eles AX, BX, CX e DX. São registradores de uso geral e também podem ser usados como registradores de 8 bits. Para tanto devemos referenciá-los como, por exemplo, AH e AL, que são, respectivamente, o byte high e o low do registrador AX. Esta nomenclatura também se aplica para os registradores BX, CX e DX.
Os registradores, segundo seus respectivos nomes:
AX - Registrador Acumulador
BX - Registrador Base
CX - Registrador Contador
DX - Registrador de Dados
DS - Registrador de Segmento de Dados
ES - Registrador de Segmento Extra
SS - Registrador de Segmento de Pilha
CS - Registrador de Segmento de Código
BP - Registrador Apontador da Base
SI - Registrador de Índice Fonte
DI - Registrador de Índice Destino
SP - Registrador Apontador de Pilha
IP - Registrador Apontador da Próxima Instrução
F - Registrador de Flag
Programa Debug.
Para a criação de um programa em assembler existem 2 opções: usar o TASM - Turbo Assembler da Borland, ou o DEBUGGER. Nesta primeira serão vamos usar o debug, uma vez que podemos encontrá-lo em qualquer PC com o MS-DOS.
O Debug pode apenas criar arquivos com a extensão .COM, e por causa das características deste tipo de programa, eles não podem exceder os 64 Kb, e também devem iniciar no endereço de memória 0100H dentro do segmento específico é importante observar isso, pois deste modo os programas .COM não são relocáveis.
Os principais comandos do programa