- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Jump if minus (JM) in 8085 Microprocessor
In 8085 Instruction set, we are having one mnemonic JM a16, which stands for “Jump if Minus” 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 sign flag value is 1. If the sign flag value is 0, program flow continues sequentially. It is a3-Byte instruction.
Mnemonics, Operand | Opcode(in HEX) | Bytes |
---|---|---|
JM Label | FA | 3 |
Let us consider one example of this instruction type JM 4000H. It is a 3-Byte instruction. The result of the execution of this instruction is shown below with an example.
Address | Hex Codes | Mnemonic | Comment |
---|---|---|---|
2000 | 3E | MVI A,30 | A ← 30H |
2001 | 30 | 8-bit operand 30H | |
2002 | 06 | MVI B,40 | B ← 40H |
2003 | 40 | 8-bit operand 40H | |
2004 | 90 | SUB B | A ← A – B= 30H – 40H = -10H = F0H. As the result is -10H and as the result is negative, so S flag bit will be 1 |
2005 | FA | JM 4000 | Jump Minus, i.e. Jump when S = 1, as the subtraction result is -10H, so S 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 JP 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 JM 4000H execution is as follows –
Summary − So this instruction JM requires 3-Bytes, 3-Machine Cycles (Opcode Fetch, Memory Read, MemoryRead) and 10 T-States for execution as shown in the timing diagram.