2

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

4

3 に答える 3

3

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

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

ウィキペディアを参照してください - 16 ビット32 ビット64 ビット(およびその他)。

于 2011-02-04T11:52:21.457 に答える
1

32 ビット アプリケーションは、32 ビット フラット アドレス空間で実行されるソフトウェアです。

よくある質問への回答

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

64 ビット OS は、64 ビット プロセッサ上で標準アプリケーションを実行しますか? 繰り返しますが、そうなります。これは下位互換性のためです。

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

于 2011-02-04T11:53:33.890 に答える
0

数値 (addressmode のアセンブラー ディレクティブの 32 または 16 (例 "[use16]" および "[use32]")) は、アプリケーションがアドレス指定できるメモリの最大量を参照していません!

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

(アプリケーションが使用できるメモリの最大量は、GDT/LDT セレクター内のセグメントサイズのセグメント エントリ、または 64 kb のセグメントのデフォルト サイズを参照しています。)

32 ビットと 16 ビットのアドレスモードの唯一の違いは、これらのオペランドサイズとアドレスサイズのプレフィックスの意味と使用法です。

【用途16】

したがって、16 ビット アドレス モードで 32 ビット オペランド/アドレスを使用する場合は、これらのプレフィックスをオペコードに追加する必要があります。これらのプレフィックスがないと、16 ビットしか使用できません。

【用途32】

32 ビット アドレス モードでは正反対の状況が見つかりました。したがって、32 ビット オペランド/アドレスを使用する場合は、これらのプレフィックスをオペコードから除外する必要があり、16 オペランド/アドレスを使用する場合にのみ、これらのプレフィックスをオペコードに追加します。

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

16 ビット モードでのオペランド サイズのプレフィックス

ダーク

于 2013-02-02T11:54:39.770 に答える