Intel 8086
基本的にLargeと同じだが、配列などのメモリオブジェクトのサイズが64Kバイトに制限されない。
効率などの理由から、コンパイルはSmallモデルとし、必要に応じて明示的にセグメント操作をプログラマが指示する(適宜farまたはhugeポインタを使用し、また動的なメモリ確保によって64KBの制限を超える)ような作りのプログラムも多い。
Intel 8086(インテル8086)はインテルが開発した16ビット マイクロプロセッサ(CPU)。x86(80x86)アーキテクチャの最初のマイクロプロセッサで、1978年に発表された。
日本電気のPC-9801などパーソナルコンピュータに広く採用された。対応するオペレーティングシステムに、MS-DOS、PC-DOS、CP/M-86があった。
シリーズには、外部データバスを8ビットにした低価格版の8088があり、初代のIBM PCにも採用された。密結合な構成で、協調して働くように準備されていた数値演算コプロセッサに8087があった。また、使われる機会は少なかったが、8089(英語版)というI/Oプロセッサも存在した。
当時ライバルとされた製品には、モトローラの68000系プロセッサがある。
8086は8ビットアーキテクチャであった8080を16ビットに拡張し、乗除算などの命令を強化したCPUである。アドレスバスは20ビットに、データバスは16ビットに拡張された(姉妹品に外部データバスを8ビットに留めた8088もある)。8080とバイナリーレベルの互換性はないが、開発にあたってIntelは、8080からの速やかな移行を最重点事項に置き、8080のアセンブラソースコードに一切の手を加えることなく再アセンブルするだけで、8086用のバイナリを生成する事も出来た。
8080のアーキテクチャと大きく異なるのは、演算用のアドレスレジスタのほかに、セグメントレジスタという、アドレス変換のための16ビットのレジスタを持っていることである。実際にCPUがアクセスするアドレスは、16ビット幅のレジスタによって指定された64KBのアドレスに、さらに16ビット幅のセグメントレジスタの値を16倍(左に4ビットシフト)して加算したアドレスとするため、1MBのメモリ空間を利用できた。
8086のアーキテクチャでは、プログラム内で通常表現されるアドレスの値は16ビット幅で64KBのメモリ空間である。