Immediate addressing mode in the 8086 microprocessor uses an instruction where the operand's value is directly specified within the instruction itself. The first operand can be a register or memory location, while the second operand is an immediate constant value used in the operation. This mode is commonly used for initializing registers, but immediate data cannot be used as the destination operand, and segment registers cannot be loaded directly with immediate values.
- The operand value is embedded directly in the instruction as an immediate constant.
- The destination operand cannot be immediate data; segment registers require loading via other registers.
- Commonly used for initializing registers before performing operations.

Operation of Immediate Addressing Mode
We know that in immediate addressing mode the operand in present in the instruction only as an immediate value. So, to perform any operation on the operand we directly fetch the operand from the source address field of the instruction. Consider the instruction format given below:
- Opcode: Specifies the operation to be performed (e.g., MOV, ADD, SUB).
- Destination Operand: This is the register or memory location where the result of the operation will be stored.
- Source Operand: This is the immediate value (a constant) directly embedded within the instruction itself.
Examples of 8086 Instruction with Immediate Addressing Mode
Some examples of immediate addressing modes in 8086 microprocessors are given below:
Instructions of 8086 microprocessor | Description |
|---|---|
MOV AX, 0103H | This instruction has an immediate value 0103H as its source operand and initializes the value of register AX with the immediate data. |
MOV DH, 50H | This instruction has an immediate value 50H as its source operand and initializes the value of register DH with the immediate data. |
ADD BX, 1025H | This instruction has an immediate value 1025H as its source operand and adds the immediate data with the content of register BX. |
MUL AH, 10H | This instruction has an immediate value 10H as its source operand and multiplies the immediate data with the content of register AH. |