Pergunta

Não sei o que significa aplicativos de 16 ou 32 bits.Será que um aplicativo de 16 bits é um aplicativo que não requer mais do que 2 ^ 16 bytes de espaço de memória?Este 16 bits se refere ao tamanho máximo do aplicativo?

Foi útil?

Solução

Um aplicativo de 32 bits é um software executado em um espaço de endereço simples de 32 bits.

Respostas para perguntas comuns

Uma CPU de 64 bits executará um programa padrão (32 bits) em uma versão de 64 bits de um sistema operacional? Sim vai.Os sistemas de 64 bits são compatíveis com as versões anteriores de 32 bits.

Um sistema operacional de 64 bits executará um aplicativo padrão em um processador de 64 bits? Mais uma vez, vai acontecer.Isso ocorre devido à compatibilidade com versões anteriores.

Posso executar W2K e WXP em uma CPU de 64 bits e usar software antigo? Sim, um sistema operacional de 32 bits (W2K e WXP) será executado em um processador de 64 bits.Além disso, você deve ser capaz de executar "software antigo" em um sistema operacional de 64 bits.

Outras dicas

Significa que o aplicativo foi compilado para um processador que possui 16 bits de endereçamento de memória ou 32 bits de endereçamento de memória.O mesmo vale para aplicativos de 64 bits.

O número se refere à quantidade máxima de memória que o aplicativo pode endereçar.

Veja wikipedia - 16 bits , 32 bits , 64 bits (e mais).

O número (32 ou 16 da diretiva assembler do modo de endereço (exemplo "[use16]" e "[use32]")) não se refere à quantidade máxima de memória que o aplicativo pode abordar!

Porque com o 80386+ também é possível usar os prefixos operandsize- e adresssize em combinação com o PM de 16 bits para endereçar até 4 GB de RAM.

(A quantidade máxima de memória que nosso aplicativo pode usar refere-se às entradas de segmento do tamanho do segmento dentro de um seletor GDT / LDT, ou pelo tamanho padrão para um segmento de 64 kb.)

A única diferença entre o modo de endereço de 32 bits - e o modo de endereço de 16 bits é o significado e o uso desses prefixos de tamanho de operandos e de tamanho de endereço.

<"[usar16]

Portanto, se quisermos usar no modo de endereço de 16 bits operandos / endereços de 32 bits, temos que adicionar esses prefixos ao nosso opcode. Sem esses prefixos, podemos usar apenas 16 bits.

<"[usar32]

No modo de endereço de 32 bits encontramos uma situação diametralmente oposta, então se quisermos usar operandos / endereços de 32 bits, devemos deixar de fora esses prefixos de nosso opcode e apenas se quisermos usar 16 operandos / endereços, então temos que adicionar esses prefixos ao nosso opcode.

Se usarmos essas diretivas de tamanho acima (ou notação semelhante) com cuidado, nosso montador fará esse trabalho.

Prefixo do tamanho do operando no modo de 16 bits

Dirk

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top