Murilo :P

C++, Computação, Programação, Web e afins :)

Linguagens de Montagem Aula 1 – Introdução ao IA-32

with one comment

Hoje estou começando a escrever sobre Linguagens de Montagem (LM). Muitos acham que Assembly é um bicho de 7 cabeças (ou mais), mas veremos que não é bem assim.

Começarei falando sobre a arquitetura IA-32 (Intel Architecture 32 bits) a qual estarei lidando durante todos os posts dessa série. (mais sobre IA-32)

  • Memória principal (Física) 4GB

Registradores

  • Ponteiros – 32 bits
  • Inteiros – 32 bits
  • Ponto flutuante – 80 bits, 64 bits, 32 bits

Registradores “visíveis”

Uso geral:
  • Ponteiros ou dados com 32, 16 ou 8 bits
    • eax
    • ebx
    • ecx
    • edx
  • Ponteiros ou dados com 32 ou 16 bits
    • esi
    • edi
  • Ponteiro para registro de ativação
    • ebp
  • Ponteiro para topo da pilha
    • esp

eax:

0 31
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
ax

0 15
█ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █
al
█ █ █ █ █ █ █ ah

Registradores indicadores (flags)

  • Z – indica que o resultado da última operação foi zero. (Z = 1)
  • S – indica o sinal do resultado da última operação. (S = 0 => positivo; S = 1 => negativo)
  • C – indica o resultado do “vai-um” do bit mais significativo da útima operação.
  • O – indica estouro de capacidade em operação com inteiros sinalizados.
  • P – indica a paridade dos 8 bits menos significativos do resultado da útima operação.
  • D – comanda a direção de incremento de ponteiros em instruções com arranjos.

Conteúdo baseado nas aulas do professor Augusto Silva da Universidade Católica de Goiás.

Advertisements

Written by Murilo Adriano

15 de December de 2007 at 23:53

One Response

Subscribe to comments with RSS.

  1. Excelente, e simples entendimento realmente agora, como dizes estou sntindo, que poso aprender.

    Ari

    Arimatéa

    6 de May de 2008 at 21:18


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: