
- Microprocessor - Home
- Microprocessor Overview
- Microprocessor Classification
- Microprocessor Evolution
- Microprocessor Components
- Microprocessor Characteristics
- Microprocessor Functions
- Microprocessor Pros & Cons
- Microprocessor Application
- Microcontrollers Types
- Microcontrollers Pros & Cons
- 8085 Microprocessor Architecture
- 8085 Microprocessor Pin Configuration
- Addressing Modes & Interrupts
- 8085 Microprocessor Instruction Sets
- 8085 Microprocessor Features
- Externally Initiated Operations
- 8086 Microprocessor
- 8086 Microprocessor Overview
- Functional Units
- Pin Configuration
- Instruction Sets
- 8086 Microprocessor Interrupts
- 8086 Microprocessor Addressing Modes
- 8086 Microprocessor Features
- Memory Segmentation
- Auxiliary Carry Flag
- Maximum and Minimum Mode Configurations
- Multiprocessor Configuration
- Configuration Overview
- 8087 Numeric Data Processor
- I/O Interfacing
- I/O Interfacing Overview
- 8279 Programmable Keyboard
- 8257 DMA Controller
- Serial vs Parallel Communication
- Serial Communications Interface
- Parallel Communication Interface
- 8051 Microcontrollers
- Microcontrollers Overview
- 8051 Microcontrollers Architecture
- 8051 Pin Description
- 8051 Input Output Ports
- 8051 Microcontrollers Interrupts
- Instruction Sets
- Logical Instructions in AVR
- Conditional Branch Instructions AVR
- Peripheral Devices
- Programmable Peripheral Interface
- Intel 8255A Pin Description
- Programmable Interval Timer
- 8253/54 Operational Modes
- Interfacing Devices
- Applications and Furture Trends
- Microcontrollers - Application
- Microprocessor Useful Resources
- Microprocessor - Quick Guide
- Microprocessor - Useful Resources
- Microprocessor - Discussion
Auxiliary Carry Flag in 8086 Microprocessor
The 8086 Microprocessor is a widely used 16-bit microprocessor in computers and computing devices and it was developed by Intel Corporation. This widespread utilization of the 8086-microprocessor is because of its many features. In this chapter, we will discuss such an important feature of this microprocessor, which is Auxiliary Carry Flag (AF).

In the 8086-microprocessor, the auxiliary carry flag is a key status flag used in arithmetic operation, mainly in those involving BCDs (Binary-Coded Decimals).
What is Auxiliary Carry Flag in 8086?
The 8086-microprocessor has 6 status flags in its flag register, and the Auxiliary Carry Flag is one of these six status flags. It is mainly used when the processor performs arithmetic operations on BCD numbers. This flag indicates a carry or a borrow between the lower and upper 4-bit binary groups of an 8-bit binary number.
Features of Auxiliary Carry Flag in 8086
The following are some important features of the auxiliary carry flag in the 8086-microprocessor −
- The auxiliary carry flag plays an important role in arithmetic operations of BCD numbers. It allows for indicating a carry in addition or a borrow in subtraction between the 4 LSBs (Least Significant Bits) and 4 MSBs (Most Significant Bits) of an 8-bit binary number.
- The AF in 8086-microprocessor has automatic updating feature after the execution of every arithmetic operation by the ALU.
- The auxiliary carry flag uses binary representation to indicate its status. If there is a carry from the 4 LSBs to the 4 MSBs during the addition or a borrow from the 4 MSBs to the 4 LSBs during the subtraction, then the flag is set to 1, otherwise it is set to 0.
Example of Auxiliary Carry Flag in 8086
Let's consider an addition operation of two hexadecimal numbers given below −
$$\mathrm{(38)_H \:+\: (3D)_H \:=\: (75)_H}$$
The following is the step-by-step explanation of this addition −
Step 1 − Firstly convert the hex numbers into binary as follows,
$$\mathrm{(38)_H \:=\: (0011 1000)_2}$$
$$\mathrm{(3D)_H \:=\: (0011 1101)_2}$$
Step 2 − Perform addition of the binary numbers obtained,

Here, the result is (0111 0101)2 = (75)H
In this addition, observe the carry generated from the addition of 4 LSBs (1000 + 1101) and it results in a carry forward to the next 4 MSBs. Since, there is a carry generated between the lower and upper nibbles, thus it sets the AF to 1.
Why the Auxiliary Carry Flag is Important in 8086?
In the 8086-microprocessor, the auxiliary carry flag plays an important role in arithmetic operations involving BCD numbers for producing results in a human readable format. The auxiliary carry flag provides proper adjustments of the final results when a carry or borrow occurs in the operations.
Conclusion
The auxiliary carry flag in the 8086-microprocessor is a very important flag, as it assists in the arithmetic operations of BCD numbers. It allows for tracking carry and borrow between lower and upper 4-bit segments to ensure accuracy in results.