Instruction Pointer (IP)
In the BIU, the next register, below the segment register is the instruction pointer. The instruction pointer (IP) holds the 16-bit address of the next code byte within this code segment.
The Execution Unit
The execution unit (EU) tells the BIU where to fetch instructions or data from, decodes instructions, and executes instructions.
The functional parts of the execution unit are control circuitry or system, instruction decoder, and Arithmetic logic unit (ALU).
Control circuitry to perform various internal operations. A decoder in the EU translates instructions fetched from memory to generate different internal or external control signals that required performing the operation. The EU has a 16-bit ALU, which can perform arithmetic operations such as add, subtract etc. and logical operations such as AND, OR, XOR, increment, decrement etc.
Flag Register
A 16-bit flag register is a flip-flop that indicates some condition produced by the execution of an instruction or controls certain operations of the EU. They are modified automatically by the CPU after mathematical operations. It has 9 flags and they are divided into two categories:
1. Conditional Flags
2. Control Flags
Conditional Flags:
Conditional flags represent the result of the last arithmetic or logical instructions.
· Carry Flag (CF): This flag will be set to one if the arithmetic operation produces the carry in MSB position. It is also used in multiple-precision arithmetic.
· Auxiliary Flag (AF): If an operation performed in ALU generates a carry/borrow from lower nibble (i.e. D0 – D3) to upper nibble (i.e. D4 – D7), the AF flag is set i.e. carry given by D3 bit to D4 is AF flag. This is not a general-purpose flag; it is used internally by the processor to perform Binary to BCD conversion.
· Parity Flag (PF): This flag is used to indicate the parity of the result. If lower order 8-bits of the result contains an even number of 1’s, the Parity Flag is set to one and for an odd number of 1’s, the Parity Flag is reset i.e. zero.
· Zero Flag (ZF): It is set to one; if the result of an arithmetic or logical operation is zero else it is reset.
· Sign Flag (SF): In sign-magnitude format, the sign of the number is indicated by MSB bit. If the result of the operation is negative, the sign flag is set to one.
· Overflow Flag (OF):
It occurs when signed numbers are added or subtracted. An OF indicates that the result has exceeded the capacity of the machine.
Control Flags
Control flags are intentionally set or reset to control certain operations of the processor with specific instructions put in the program from the user. Control
flags are as follows:
1. Trap Flag (TP): It is used for single-step control. It allows user to execute one instruction of a program at a time for debugging. When the trap flag is set, the program can be run in single-step mode.
2. Interrupt Flag (IF): It is an interrupt enable/disable flag, i.e. used to allow/prohibit the interruption of a program. If it is set, the maskable interrupt is enabled and if it is reset, the interrupt is disabled.
3. Direction Flag (DF): It is used in string operation. If it is set, string bytes are accessed from higher memory address to lower memory address. When it is reset, the string bytes are accessed from the lower memory address to the higher memory address.
|
8086 Flag Register Format |
General Purpose Registers
The EU has eight general-purpose registers labelled AH, AL, BH, BL, CH, CL, DH, and DL. These registers can be used individually for the temporary storage of 8-bit data. The AL register is also called the accumulator. Certain pairs of these general-purpose registers can be used together to store 16-bit data. The valid register pairs are AH and AL, BH and BL, CH and CL and DH and DL. These register pairs are referred to as the AX, BX, CX, and DX resp.
AX Register: For 16-bit operations, AX is called the accumulator register that stores operands for arithmetic operations.
BX Register: This register is mainly used as a base register. It holds the starting base location of a memory region within a data segment.
CX Register: It is defined as a counter. It is primarily used in loop instruction to store the loop counter.
DX Register: DX register is used to contain the I/O port address for I/O instruction.
Stack Pointer Register:
The stack pointer (SP) register contains the 16-bit offset from the start of the segment to the memory location where a word was most recently stored on the stack. The memory location where a word was most recently stored is called the top of the stack.
Other Pointer and Index Registers
The EU also contains a 16-bit source index (SI) register, base pointer (BP) registers, and Destination Index (DI) registers. These three registers can be mainly used for the temporary storage of 16-bit data just like a general-purpose register.
Difference between 8085 and 8086 Microprocessor
When we compare two products mainly we are considering following points.
Size − 8085 is 8-bit microprocessor, whereas 8086 is 16-bit microprocessor.
Address Bus − 8085 has 16-bit address bus while 8086 has 20-bit address bus.
Data Bus -- 8085 has 8-bit Dara bus where as 8086 has 16-bit data Bus.
Memory − 8085 can access up to 64Kb, whereas 8086 can access up to 1 Mb of memory.
I/O − 8085 can address 2^8 = 256 I/O's, whereas 8086 can access 2^16 = 65,536 I/O's.
Cost − The cost of 8085 is low whereas that of 8086 is high
How you found this article, is this useful? I'm sure this will help you more. If you want more information please let me know through comments in the right below.
thanks for giving us these notes. these are very useful for us. please give more information regarding microprocessor, networking and all subjects ......
ReplyDeletethanks and regards..
ankit
Thanks Sir.Its very useful for me for NET exam.
ReplyDelete--
Dipika
the provided notes are very useful.but we need the description about the buses used in it.
ReplyDeleteHello Sanskriti,
DeleteIf You want the buses used in 8086 microprocessor, I have already discussed them in bus structure of computer or microcomputer.
See the figure above 8086 internal block diagram, figure shows the address bus, data bus as well as control bus which controls the control and status signal.
Also see the pin diagram of 8086 microprocessor or the hardware model of 8086. In this post, also i have discussed the detail structure of buses like multiplexed address/data bus, multiplexed address bus and control and status signal.
Please let me know if you have any further doubts
Happy Learning
so good!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ReplyDeleteLet us be grateful to the people who make us happy; they are the charming gardeners who make our souls blossom.
ReplyDelete- Abnamro Persoonlijke Lening Rente
Thank you. :)
ReplyDeleteThank you so much sir notes provoking to us and thanks to all computerkg2pg.blogspot.com
ReplyDeleteYou are great to our tutors the knowledge of computer science
Thanks for posting this valuable information, really like the way you used to describe. Hope I'll get such posts in future too.
ReplyDeletemcafee.com/activate | norton.com/setup | office.com/setup | office.com/setup
Tq
ReplyDeleteWhat a good post friend. Like it so much.
ReplyDeleteJohn Clarke
Thank u so much sir...really it is very useful for me...but sir also I need pin diagram of microprocessor 8086 with explanation
ReplyDeletePlease check this link.. https://comptutorkg2pg.blogspot.com/2011/11/pin-diagram-0f-8086-microprocessor-or.html
ReplyDelete