Machine Control Instructions in Microprocessor
These type of instructions control machine functions such as Halt, Interrupt, or do nothing. This type of instructions alters the different type of operations executed in the processor.
Following are the type of Machine control instructions:
1. NOP (No operation) 2. HLT (Halt) 3. DI (Disable interrupts) 4. EI (Enable interrupts) 5. SIM (Set interrupt mask) 6. RIM (Reset interrupt mask)
- NOP (No operation) –
Opcode- NOP Operand- None Length- 1 byte M-Cycles- 1 T-states- 4 Hex code- 00
It is used when no operation is performed. No flags are affected during the execution of NOP. The instruction is used to fill in time delay or to delete and insert instructions while troubleshooting.
- HLT (Halt and enter wait state) –
Opcode- HLT Operand- None Length- 1 byte M-Cycles- 2 or more T-states- 5 or more Hex code- 76
The Microprocessor finishes executing the current instruction and halts any further execution. The contents of the registers are unaffected during the HLT state.
- DI (Disable interrupts) –
Opcode- DI Operand- None Length- 1 byte M-Cycles- 1 T-states- 4 Hex code- F3
Disable interrupt is used when the execution of a code sequence cannot be interrupted. For example, in critical time delays, this instruction is used at the beginning of the code and the interrupts are enabled at the end of the code. The 8085 TRAP cannot be disabled.
- EI (Enable interrupts) –
Opcode- EI Operand- None Length- 1 byte M-Cycles- 1 T-states- 4 Hex code- FB
After a system reset or the acknowledgement of an interrupt, the Interrupt Enable the flip-flop is reset, thus disabling the interrupts.
- SIM (Set interrupt mask) –
Opcode- SIM Operand- None Length- 1 byte M-Cycles- 1 T-states- 4 Hex code- 30
This SIM instruction is used to implementation of different interrupts of 8085 microprocessor like RST 7.5, 6.5 and 5.5 and also serial data output. It does not affect TRAP interrupt.
- RIM (Reset interrupt mask) –
Opcode- RIM Operand- None Length- 1 byte M-Cycles- 1 T-states- 4 Hex code- 20
This is a multipurpose instruction used to read the status of 8085 interrupts 7.5, 6.5, 5.5 and to read serial data input bit.