Jump if not Carry (JNC) in 8085 Microprocessor


In 8085 Instruction set,we are having one mnemonic JNC a16, which stands for “Jump if Not 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 0. If carry flag value is 1, program flow continues sequentially. It is a 3-Byte instruction.

Mnemonics, Operand
Opcode(in HEX)
Bytes
JNCLabel
D2
3


Let us consider one example of this instruction type JNC 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
3F
CMC
Complement Cy flag bit. So Cy = 0
2002
D2
JNC 4000
Jump Not Carry, i.e. Jump when Cy = 0
2003
00


Low order Byte of the target address
2004
40


High order Byte of the target address
PC ← 4000H, So the program control will be transferred to the address 4000H
2005
78
MOV A, B
This instruction will not get control now as JNC 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 JNC 4000H execution is as follows –


Summary − So this instruction JNC 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

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements