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.


Updated on: 27-Jun-2020

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements