The 80186 was an Intel microprocessor (released in 1982) which followed the 8086 and was closely followed by the 80286. Like the 8086, it had a 20-bit address bus (thus supporting up to 1MB of memory) and a 16-bit data bus. Internally, it contained the same 16-bit register set as the 8086.

The 80186 differed from the 8086 primarily in speed. Additionally, it had additional instructions, mainly intended to assist high-level programming languages (ENTER and LEAVE for stack-based procedure calls; PUSHA and POPA for saving and restoring registers; BOUND for bounds checking of array indices; IMUL for signed integer multiplication; and INS and OUTS for outputting strings to I/O ports). It also added new addressing modes for existing instructions. It did not have protected mode: that was introduced to IA-16 in the 80286.

Most importantly for its intended market (viz., embedded systems), the 186 put a great deal of additional logic on-chip. In particular, it added an interrupt controller, timers, and two DMA channels. Thus a single VLSI chip could replace many separate packages, cutting down on production costs and power usage for embedded systems.

There was also an 80188, which had an 8-bit external data bus. It was thus slower, but cheaper to manufacture and use.

Log in or register to write something here or to contact authors.