2011-02-04 13 views
1

16ビットまたは32ビットアプリケーションの意味がわかりません。 16ビットのアプリケーションは2^16バイト以上のメモリ空間を必要としないアプリケーションですか?この16ビットはアプリケーションの最大サイズを参照していますか?32ビットアプリケーションは何を意味していますか?

+0

これは徹底的にスーパーユーザに回答されていますhttp://superuser.com/questions/56540/32-bit-vs-64-bit-systems –

答えて

2

A 32-bit application is software that runs in a 32-bit flat address space.

回答

64ビットCPUはOSの64ビット版上の標準(32ビット)プログラムを実行しますか? はい、そうです。 64ビットシステムは、32ビット対応システムと下位互換性があります。

64ビットOSで64ビットプロセッサで標準アプリケーションを実行できますか? もう一度やります。これは下位互換性のためです。

64ビットCPUでW2KとWXPを実行して、古いソフトウェアを使用できますか? はい、32ビットOS(W2KおよびWXP)は64ビットプロセッサで実行されます。また、64ビットOSで「古いソフトウェア」を実行できるはずです。

2

これは、アプリケーションが16ビットのメモリアドレッシングまたは32ビットのメモリアドレッシングを持つプロセッサ用にコンパイルされたことを意味します。 64ビットアプリケーションでも同様です。

この数値は、アプリケーションが処理できる最大メモリ量を示します。

ウィキペディアを表示 - 16-bit32-bit64-bit(以上)一般的な質問へ

+0

プラス異なる命令があります16と32ビットの間に設定してください –

+0

@Felice Pollano - それは実際にはこれらの用語が意味するものではありません。命令セットは、(メモリアドレッシングとは別に)同一であってもよい。 – Oded

+0

@Oded「16ビットアプリケーション」の16ビットは、アプリケーションがメモリ空間で使用できる最大サイズを指していると言うことができますか? – KawaiKx

0

アドレスモードのアセンブラディレクティブ(例 "[use16]"と "[use32]")の数)はではありません。はアプリケーションが処理できる最大メモリ量を指します!

80386+では、最大4GBのRAMをアドレス指定するために、16ビットPMと組み合わせてoperandsizeおよびadresssizeプレフィックスを使用することもできます。

(我々のアプリケーションが使用できるメモリの最大量は、GDT/LDTセレクターの内部segmentSizeのセグメントのエントリを参照のうえ、または64キロバイトのセグメントのデフォルトサイズによるものである。)

32ビットと16ビットのアドレスモードの間の唯一の差異は、それらのオペランドサイズとアドレスサイズ接頭語の意味と使用法です。

[USE16]

我々は16ビットaddressmodeで32ビットオペランド/アドレスを使用したいのであれば、我々は我々のオペコードにそれらのプレフィックスを追加する必要があります。これらのプレフィックスがなければ、16ビットしか使用できません。我々は直径逆の状況を発見したので、私たちは、32ビット・オペランド/アドレスを使用したい場合は、その後、私たちは私たちのオペコードからこれらの接頭辞を残しているとのみ32ビットaddressmodeで

[USE32]

16個のオペランド/アドレスを使用する場合は、それらの接頭辞をオペコードに追加する必要があります。

これらのサイズディレクティブ(または同様の表記法)を慎重に使用すると、アセンブラはこの作業を行います。

Operand size prefix in 16-bit mode

ディルク

関連する問題