Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


assembly - 1, Notas de estudo de Informática

Programação Assembly

Tipologia: Notas de estudo

2014

Compartilhado em 31/03/2014

xpto121520
xpto121520 🇧🇷

4.6

(27)

94 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Introdução à Arquitetura
e Linguagem Assembly de
Processadores IA-32
Sistemas da Computação
Prof. Rossano Pablo Pinto, Msc.
rossano at gmail com
2 semestre 2007
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe assembly - 1 e outras Notas de estudo em PDF para Informática, somente na Docsity!

Introdução à Arquitetura

e Linguagem Assembly de

Processadores IA-

Sistemas da Computação

Prof. Rossano Pablo Pinto, Msc.

rossano at gmail com

2 semestre 2007

Introdução à Arquitetura IA-

CHIP Ano

8086 1978 510 29.000 1 MB

8088 1979 58 29.000 16 MB

80286 1982 812 134.000 16 MB

80386 1985 1633 275.000 4 GB

80486 1989 25100 1.2 M 4 GB

1993 60233 3.1 M 4 GB

1995 150200 5.5 M 4 GB

1997 233400 7.5 M 4 GB

Core 2 Duo

MHz Transistors Mem

Pentium

Pentium Pro

Pentium II

Pentium III

Pentium 4

**Principal reg. aritmético Ponteiro de memória Usado em loops Necessário em

  • e /** ● (^) EAX em conjunto c/ EDX armazenam produtos e dividendos de 64 bits ● (^) E?X = ?X + Ext ● (^) ?X = ?L + ?H : 16 bits ● (^) ?L : A Low (low order): 8 bits ● (^) ?H : A High (high order): 8 bits ● (^)? = A | B | C | D ● (^) Nos 8088 e 80286 só existiam registradores de 8 e 16 bits ● (^) Registradores de 32 bits foram inseridos no 80386 (foi adicionado o prefixo E - Extendido, como em EAX, EBX, ECX e EDX) Seção 5.1.5 do Tanenbaum

● (^) ESI e EDI: usados p/ ponteiro de memória em instruções de manipulação de strings ● (^) ESI : endereço da string de origem (source) ● (^) EDI : endereço da string de destino (destiny) ● (^) EBP : geralmente utilizado como ponteiro para a base do frame da pilha corrente ● (^) ESP : ponteiro para topo da pilha (registrador de propósito específico) 32 bits

● (^) EIP (Extended Instruction Pointer) – Program Counter - PC 32 bits ● (^) EFLAGS (Extended Flags) – Program Status Word - PSW

Copyleft Rossano Pablo Pinto 8

FLAGS

0 CF S

2 PF S

4 AF S

6 ZF S

7 SF S

8 TP X

9 X

10 DF C

11 OF S

12,13 IOPL X

14 NT X

EFLAGS

16 RF X

17 VM X

18 AC X

19 VIF X

20 VIP X

Intel x86 FLAGS Register Bit # Abbreviation Description Category* Carry flag Reserved Parity flag Reserved Auxiliary flag Reserved Zero flag Sign flag Trap flag (single step) IF Interrupt enable flag Direction flag Overflow flag I/O privilege level (286+ only) Nested task flag (286+ only) Reserved Resume flag (386+ only) Virtual8086 mode flag (386+ only) Alignment check (486SX+ only) Virtual interrupt flag (Pentium+) Virtual interrupt pending (Pentium+)

FLAGS

21 ID X

RFLAGS

Intel x86 FLAGS Register Bit # Abbreviation Description Category* Identification (Pentium+) Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved *Categorias S: Status flag C: Control flag X: System flag http://en.wikipedia.org/wiki/FLAGS_register_(computing)

Introdução à Arquitetura IA-

Modo Real (Real Mode)

– Desabilita todas as funções posteriores ao

– Não oferece proteções – se um programa

falhar a máquina inteira falha (trava)

Introdução à Arquitetura IA-

Modo Virtual 8086 (Virtual 8086 Mode)

– Roda programas feitos para o 8088 de forma

protegida

– SO controla máquina toda

– SO cria um ambiente isolado que age com

um 8088

– Se o programa trava, o SO é notificado ao

invés de travar a máquina toda

– “Janela MS-DOS” roda neste modo p/ evitar

programas DOS mal-comportados

Introdução à Arquitetura IA-

Level 0 – kernel mode

– Acesso total à máquina – PODE EXECUTAR

QUALQUER INSTRUÇÃO EXISTENTE

– O Sistema Operacional é executado neste

modo

Introdução à Arquitetura IA-

Linguagens de alto nível: características

– Portabilidade

– Fácil manutenção

– Menos linhas de código fonte

Tipos

– Compiladas

– Interpretadas

– Híbridas

Introdução à Arquitetura IA-

Compiladas

– programa texto é convertido em programa

binário

– geralmente é feito em duas etapas

● compilação propriamente dita

● link edição

Introdução à Arquitetura IA-

Compiladas

Compilador Gera código dependente de:

**- Processador

  • Sistema Operacional Ex.:
  • IA-32 com Linux
  • IA-32 com MacOS X Código fonte é o mesmo, mas código executável é diferente**

Introdução à Arquitetura IA-

Interpretadas

– O programa não executa diretamente no

processador

– um interpretador se encarrega de ler o

programa fonte e, enquanto lê, gerar

instruções que são imediatamente colocadas

para execução