Jump if carry (JC) in 8085 Microprocessor
In 8085 Instruction set, we are having one mnemonic JC a16, which stands for “Jump if Carry” and “a16” stands for any 16-bit address. This instruction is used to jump to the address a16 as provided in the instruction. But as it is a conditional jump so it will happen if and only if the present carry flag value is 1.If carry flag value is 0, program flow continues sequentially. It is a 3-Byte instruction.
| Mnemonics, Operand |
Opcode(in HEX) |
Bytes |
|---|---|---|
| JC Label |
DA |
3 |
Let us consider one example of this instruction type JC 4000H. It is a 3-Byte instruction. The result of execution of this instruction is shown below with an example.
| Address |
Hex Codes |
Mnemonic |
Comment |
|---|---|---|---|
| 2000 |
37 |
STC |
Set Cy flag bit. So Cy = 1 |
| 2001 |
D2 |
JC 4000 |
Jump Carry, i.e. Jump when Cy = 1 |
| 2002 |
00 |
|
Low order Byte of the target address |
| 2003 |
40 |
|
High order Byte of the target address PC ← 4000H, So the program control will be transferred to the address 4000H |
| 2004 |
78 |
MOV A, B |
This instruction will not get control now as JC will transfer the control to the memory address 4000H |
| …. |
…. |
…. |
…. |
| 4000 |
41 |
MOV B, C |
Next instruction at address 4000H will get the control |
The timing diagram against this instruction JC 4000H execution is as follows –

Summary − So this instruction JC requires 3-Bytes, 3-Machine Cycles (Opcode Fetch, Memory Read, MemoryRead) and 10 T-States for execution as shown in the timing diagram.
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP