8086 Microprocessor About 8086 Microprocessor • 8086 is a 16-bit microprocessor and was designed in 1978 by Intel. Unlike, 8085, an 8086 microprocessor has 20-bit address bus. • Thus, can access 220 i.e., 1 MB address in the memory. As we know that a microprocessor performs arithmetic and logic operations. And an 8086 microprocessor is able to perform these operations with 16-bit data in one cycle. Hence is a 16-bit microprocessor. 8086 Microprocessor features: It is 16-bit microprocessor It has a 16-bit data bus, so it can read data from or write data to memory and ports either 16-bit or 8-bit at a time. It has 20-bit address bus and can access up to 220 memory locations (1 MB). It can support up to 64K I/O ports It provides 14, 16-bit registers It has multiplexed address and data bus AD0-AD15 & A16-A19 It requires single phase clock with 33% duty cycle to provide internal timing. Prefetches up to 6 instruction bytes from memory and queues them in order to speed up the processing. 8086 supports 2 modes of operation: a. Minimum mode b. Maximum mode Block Diagram of 8086 Microprocessor The architecture of 8086 microprocessor is composed of 2 major units, the BIU i.e., Bus Interface Unit and EU i.e., Execution Unit. 8086 Architecture: Bus Interface Unit 8086 Architecture 8086 Flag Register: • Like in 8085, here also the flag register holds the status of the result generated by the ALU. It has several flags that show the different conditions of the result. 8086 Flag Register: The description of each flag bit is as follows: SF- Sign Flag: This flag is set, when the result of any computation is negative. For signed computations the sign flag equals the MSB of the result. ZF- Zero Flag: This flag is set, if the result of the computation or comparison performed by the previous instruction is zero. PF- Parity Flag: This flag is set to 1, if the lower byte of the result contains even number of 1’s. CF- Carry Flag: This flag is set, when there is a carry out of MSB in case of addition or a borrow in case of subtraction. AF-Auxilary Carry Flag: This is set, if there is a carry from the lowest nibble, i.e, bit three during addition, or borrow for the lowest nibble, i.e, bit three, during subtraction. 8086 Flag Register: OF- Over flow Flag: This flag is set, if an overflow occurs, i.e, if the result of a signed operation is large enough to accommodate in a destination register. The result is of more than 7-bits in size in case of 8-bit signed operation and more than 15-bits in size in case of 16-bit sign operations, and then the overflow will be set. TF- Tarp Flag: If this flag is set, the processor enters the single step execution mode. The processor executes the current instruction and the control is transferred to the Trap interrupt service routine. IF- Interrupt Flag: If this flag is set, the mask able interrupts are recognized by the CPU, otherwise they are ignored. D- Direction Flag: This is used by string manipulation instructions. If this flag bit is ‘0’, the string is processed beginning from the lowest address to the highest address, i.e., auto incrementing mode. Otherwise, the string is processed from the highest address towards the lowest address, i.e., auto decrementing mode. Thank you