Assembler básico

Páginas: 9 (2065 palavras) Publicado: 25 de outubro de 2012
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 maisrá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 doregistrador 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 vezque 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 programadebug são:
A - Montar instruções simbólicas em código de máquina
D - Mostrar o conteúdo de uma área da memória
E - Entrar dados na memória, iniciando num endereço específico
G - Rodar um programa executável na memória
N - Dar nome a um programa
P - Proceder, ou executar um conjunto de instruções relacionadas
Q - Sair do programa debug
R - Mostrar o conteúdo de um ou mais registradores
T -Executar passo a passo as instruções
U - Desmontar o código de máquina em instruções simbólicas
W - Gravar um programa em disco
É possível visualizar os valores dos registradores internos da CPU usando o programa Debug. Debug ‚ um programa que faz parte do pacote do DOS, e pode ser encontrado normalmente no diretório C:\DOS. Para iniciá-lo, basta digitar Debug na linha de comando:
C:/>Debug[Enter]
-
Se você notar então a presença de um hífen no canto inferior esquerdo da tela. Não se espante, este é o prompt do programa. Para visualizar o conteúdo dos registradores, experimente:
-r[Enter]
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0100 NV UP EI PL NZ NA PO NC
0D62:0100 2E CS:
0D62:0101 803ED3DF00 CMP BYTE PTR [DFD3],00CS:DFD3=03
É mostrado o conteúdo de todos os registradores internos da CPU; um modo alternativo para visualizar um único registrador ‚ usar o comando "r" seguido do parâmetro que faz referência ao nome do registrador:
-rbx
BX 0000
:
Esta instrução mostrar o conteúdo do registrador BX e mudar o indicador do Debug de "-" para ":"
Quando o prompt assim se tornar, significa que ‚ possível, emboranão obrigatória, a mudança do valor contido no registrador, bastando digitar o novo valor e pressionar [Enter]. Se você simplesmente pressionar [Enter] o valor antigo se mantém.
Estrutura Assembly.
Nas linhas do código em Linguagem Assembly há duas partes: a primeira ‚ o nome da instrução a ser executada; a segunda, os parâmetros do comando. Por exemplo:
add ah bh
Aqui "add" ‚ o comando a ser...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Programação assembler
  • Linguagem assembler
  • Tutorial de Assembler
  • Assembler 8088
  • Programação em assembler
  • Conjunto de instruções em assembler para 8051
  • Basico
  • basico

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!