In 8085 Instruction set, we are having one mnemonic JPE a16, which stands for “Jump if Parity Even” 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 parity flag value is 1. If the parity flag value is 0, program flow continues sequentially. It is a 3-Byte instruction.
|Mnemonics, Operand||Opcode(in HEX)||Bytes|
Let us consider one example of this instruction type JPE 4000H. It is a 3-Byte instruction. The result of execution of this instruction is shown below with an example.
|2000||3E||MVI A,40||A ← 40H|
|2001||40||8-bit operand 40H|
|2002||06||MVI B,40||B ← 40H|
|2003||40||8-bit operand 40H|
|2004||90||SUB B||A ← A – B= 40H – 40H = 00H. As the result is 00H = 0000 000B, so the Pflag bit will be 1|
|2005||EA||JPE 4000||Jump Parity Even, i.e. Jump when P = 1, as the subtraction result is 00H, so P flag bit will remain with value 1|
|2006||00||Low order Byte of the target address|
|2007||40||High order Byte of the target address|
PC ← 4000H, So the program control will be transferred to the address 4000H
|2008||78||MOV A, B||This instruction will not get control now as JPE 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 JPE 4000H execution is as follows –
Summary − So this instruction JPErequires 3-Bytes, 3-Machine Cycles (Opcode Fetch, Memory Read, MemoryRead) and 10 T-States for execution as shown in the timing diagram.