Intel 80186

Intel 80186（インテル 80186）は、インテルが1982年6月に発表した、主として組み込みシステム向けのマイクロプロセッサ、ないしマイクロコントローラである。
特徴.
同年2月に発表されていた80286のリアルモードと同様に11個の命令が追加されている。しかし80286以降のチップとは異なり命令セットアーキテクチャの大幅な拡張はなく、8086に対して同世代のアーキテクチャである。コアの拡張ではなく周辺IC（クロックジェネレータ、割り込みコントローラ、タイマ、DMAC、チップセレクタ）をオンダイに組み込んだ、性格的にはマイクロコントローラに近いチップである。
一部の命令の実行クロック数の削減により、（プログラム内の命令に依るが）同一クロックで動作する8086と比較して1.3倍程度の性能がある。
写真の独特なパッケージ形状は CLCC（セラミック・リードレス・チップ・キャリア）と称されるもので、専用のソケットを用いなければ基板に実装できない。のちに PLCC, QFP, PGA など他のパッケージも供給されるようになった。パッケージ形状はチップ名先頭で区別され、それぞれ R(CLCC), N(PLCC), S(QFP), A(PGA)となる。
もっとも、IBM PC等で使用されているDMAC等とは互換性が無いため、パーソナルコンピュータでは、部品点数削減が重要なブック型パソコンで使用された程度である。
8086互換プロセッサを展開していたNEC Vシリーズ中では、V35/V25が機能的に近い。
追加または仕様変更された命令.
先行する80286に追加されていた新たな命令のうち、プロテクトモードや80287に関連しない汎用の命令11個が80186にも採用された。これらはもともと286命令の一部であるが、数字的に186より大きい数字のプロセッサで使用できるようになったことから、結果的に「186命令」などとされることもある。
 ENTER … Make stack frame for procedure
 LEAVE … High level procedure exit
 PUSHA … Push all general registers
 POPA … Pop all general registers
 BOUND … Check array index against bounds
 INS … Input string
 INSB … Input string byte
 INSW … Input string word
 OUTS … Output string
 OUTSB … Output string byte
 OUTSW … Output string word
このほか80186/80286では以下の10命令に対しても、既存の命令に対してアドレッシングモードが追加されている。いずれもオペランドにイミディエイト（即値）が使えるようになった。なお、シフト/ローテイト命令ではビット数として指定できる有効な値が31以下に変更されており、それより大きな値を指定しても下位5ビット分しか認識されなくなった。
 IMUL Integer multiplication
 PUSH Push word onto stack
 RCL Rotate left through carry
 RCR Rotate right through carry
 ROL Rotate left
 ROR Rotate right
 SAL Shift arithmetic left
 SHL Shift left logical
 SAR Shift arithmetic right
 SHR Shift right logical
また、8086では8087命令の使用中はcodice_1命令でCPUを止めておかなければならなかったが、80186では自動的にタイミングが調整されるようになり、8087命令の前に必ずしもcodice_1命令を入れる必要はなくなった。
脚注.
注釈