![]() |
VOOZH | about |
The SIM (Set Interrupt Mask) and RIM (Read Interrupt Mask) instructions are two instructions in the 8085 microprocessor that are used to control interrupts. These instructions are commonly used in embedded systems and other applications that require interrupt-driven processing. By selectively enabling or disabling interrupts, the microprocessor can control the flow of data and ensure that critical tasks are executed in a timely manner. The SIM and RIM instructions are important tools for managing interrupts and optimizing the performance of the microprocessor in various applications.
In 8085 Instruction set, SIM stands for “Set Interrupt Mask”. It is 1-Byte instruction and it is a multi-purpose instruction. The SIM instruction allows the microprocessor to selectively enable or disable interrupts by setting the appropriate bits in the Interrupt Mask Register (IMR). The IMR is a register that controls which interrupts are allowed to be processed by the microprocessor. The SIM instruction takes one byte as an operand and sets the corresponding bits in the IMR based on the value of the operand.
In 8085 Instruction set, RIM stands for “Read Interrupt Mask”. It is a 1-Byte multi-purpose instruction. The RIM instruction, reads the current value of the IMR and copies it to the accumulator. This allows the microprocessor to check which interrupts are currently enabled or disabled. The RIM instruction takes no operands and simply reads the value of the IMR.👁 Image
| Sr. No. | Sim Instruction | Rim Instruction |
|---|---|---|
| 1 | SIM stands for Set Interrupt Mask. | RIM stands for Read Interrupt Mask. |
| 2 | It is responsible for masking/unmasking of RST 7.5, RST 6.5 and RST 5.5. | It checks whether RST 7.5, RST 6.5, RST 5.5 are masked or not. |
| 3 | It resets to 0 RST 7.5 flip flop. | It checks whether interrupts are enabled or not and to check whether RST 7.5, RST 6.5 or RST 5.5 interrupts are pending or not. |
| 4 | The content of the Accumulator decides the action to be taken. So before executing the SIM instruction, it is mandatory to initialize Accumulator with the required value. | The contents of the Accumulator after the execution of the RIM instruction provide this information. Thus, it is essential to look into the Accumulator contents after the RIM instruction is executed. |
| 5 | SIM instruction can be used for serial output of data. | RIM instruction can be used for serial input of data. |
| 6 | Its opcode(in Hex) is 30. | Its opcode(in Hex) is 20. |
| 7 | Takes a byte operand | Takes no operand |
| 8 | Sets the corresponding bits in the Interrupt Mask Register (IMR) based on the operand | Copies the current value of the IMR to the accumulator |
| 9 | Enables or disables interrupts selectively | Reads the current interrupt status |
| 10 | SIM instruction changes the contents of the IMR | RIM instruction does not modify any registers or flags |
| 11 | SIM instruction is used for setting the mask register before an interrupt is enabled | RIM instruction is used for reading the mask register during interrupt service routine |
| 12 | SIM instruction affects the mask ability of the interrupts | RIM instruction does not affect the mask ability of the interrupts |
SIM and RIM instruction plays vital roll in controlling or monitoring the interrupt system in 8085 micro-processor. Whereas, SIM enables users to encode and selectively disable particular interrupts, RIM is used to test the status of these interrupts. Both are needed in interrupt handling since the ability to control an interrupt at software level is important in systems that demands tight control over the interrupt signals sensed by the hardware. SIM provides possibilities to control the interrupts and serial output while RIM targets checking the interrupt and serial input state. Altogether the interfacing of these videos give a clear picture of interrupt control and communication mechanism of 8085 microprocessor.