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
mSem 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}}

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.


Linha 19: Linha 21:


=== Modo de 64-bits ===
=== Modo de 64-bits ===



[[Categoria:Assembly de x86|Modos de operação]]

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

Índice
Modos de operação Modos de operaçãoModos 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