Assembly x86/Modos de operação: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
{{Assembly de x86|secção=Modos de operaçãoModos de operação|ant=Modos de operação|prox=Registos}}
{{Assembly de x86|secção=Modos de operação|ant=História da arquitectura x86|prox=Registos}}


A compatibilidade com versões anteriores de software tem sido desde o princípio a principal fonte de decisões de design da arquitectura x86. Quando a Intel desenhou o 8086, utilizou nele um modelo de memória que permitia que os programas desenvolvidos para microprocessadores anteriores da Intel pudessem ser facilmente adaptados para correr na nova arquitectura.
A compatibilidade com versões anteriores de software tem sido desde o princípio a principal fonte de decisões de design da arquitectura x86. Quando a Intel desenhou o 8086, utilizou nele um modelo de memória que permitia que os programas desenvolvidos para microprocessadores anteriores da Intel pudessem ser facilmente adaptados para correr na nova arquitectura.

Revisão das 03h43min de 12 de julho de 2008

Índice
História da arquitectura x86 Modos de operação Registos


A compatibilidade com versões anteriores de software tem sido desde o princípio a principal fonte de decisões de design da arquitectura x86. Quando a Intel desenhou o 8086, utilizou nele um modelo de memória que permitia que os programas desenvolvidos para microprocessadores anteriores da Intel pudessem ser facilmente adaptados para correr na nova arquitectura.

Posteriormente à introdução do 8086, as alterações de fundo à arquitectura têm sido isoladas por meio de modos de operação. Define-se modo de operação como os elementos do estado interno do processador que afectam o comportamento da execução da totalidade ou de parte das instruções. Esse estado interno é atingido por execução de uma sequência de instruções.

Seja C o comportamento do processador após a operação de Reset, ou seja, quando o processador acabou de se inicializar. Neste caso, C representa o comportamento do processador 8086. F1 e F2 são modos de operação, e f1 e f2 as sequências de instruções que é necessário executar para que o processador atinja os estados F1 e F2, respectivamente. Representemos por o comportamento resultante de aplicar o modo de operação F ao comportamento C. P1 é um programa que é a composição de com um programa que assume , e P2 um programa que é a composição de com um programa que assume .

  • Se o processador suporta o modo de operação F1 mas não o modo F2, a execução de P2 vai falhar porque o processador não vai reconhecer f2. No entanto, a execução de P1 vai ser bem sucedida, uma vez que f1 é reconhecida pelo processador.
  • Se o processador suporta os modos de operação F1 e F2, a execução de P1 vai ser bem sucedida, uma vez que f1 vai ser reconhecida. Por sua vez, o suporte ao modo F2 é silenciosamente ignorado, já que o programa P1 ignora a sua existência. Em contrapartida, uma vez que a sequência f2 não é executada, as modificações patentes em F2 não afectam a execução de P1.

A arquitectura x86 define 5 modos de operação oficiais.

Modo Real

Modo Protegido

Modo de 8086 Virtual

Modo Longo

Modo de Compatibilidade

Modo de 64-bits