2012-01-04 17 views

答えて

17

16 bit intel architecturesとの相違点のみです。

仮想アドレスに関する限り、セレクタとオフセットの2つのコンポーネントがあります。

セレクタは、ベースアドレスのテーブルへのインデックスであり、オフセットがそのベースアドレスに追加されます。

付近のポインタにはセレクタがありません。ポインタにはimplied selectorがあります。彼らは仮想アドレス空間から64kにアクセスできます。

遠方ポインタにはexplicit selectorがあります。しかし、ポインタ演算を行う場合は、selector isn't modified

巨大なポインタには、explicit selectorがあります。あなたはthe selector can changeしかし、それらのポインタ演算を行う。

詳細はこのリンクを参照してください。

http://www.codeproject.com/Answers/103115/near-vs-far-vs-huge-pointers/?cmt=11086#answer1

+2

Aargh!私はこのすべてを覚えています! (あまりにもメモリモデルのすべてのもの。)それを遠ざける! 32ビットのフラットなアーキテクチャの開発に移ったのは、正当な理由だけです... –

4

はるかに近く、そして巨大なポインタは、標準Cの一部ではありません。それらはセグメント化されたメモリアーキテクチャに対処するためにいくつかのベンダによって拡張されたものです。 Karthikの答えははるかに詳細を与える。

関連する問題