Difference between SIM and RIM instructions in 8085 microprocessor
The SIM (Set Interrupt Mask) and RIM (Read Interrupt Mask) instructions are two instructions in the 8085 microprocessor that are used to control interrupts.
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.
The RIM instruction, on the other hand, 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.
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.
Set Interrupt Mask (SIM) : In 8085 Instruction set, SIM stands for “Set Interrupt Mask”. It is 1-Byte instruction and it is a multi-purpose instruction. The main uses of SIM instruction are –
- Masking/unmasking of RST7.5, RST6.5, and RST5.5
- Reset to 0 RST7.5 flip-flop.
- Perform serial output of data.
Read Interrupt Mask (RIM) : In 8085 Instruction set, RIM stands for “Read Interrupt Mask”. It is a 1-Byte multi-purpose instruction. It is used for the following purposes –
- To check whether RST7.5, RST6.5, and RST5.5 are masked or not.
- To check whether interrupts are enabled or not.
- To check whether RST7.5, RST6.5, or RST5.5 interrupts are pending or not.
- To perform serial input of data.
Difference between SIM and RIM instructions in 8085 microprocessor:
|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.|
| ||Takes a byte operand||Takes no operand|
| ||Sets the corresponding bits in the Interrupt Mask Register (IMR) based on the operand||Copies the current value of the IMR to the accumulator|
| ||Enables or disables interrupts selectively||Reads the current interrupt statu|
| || SIM instruction changes the contents of the IMR||RIM instruction does not modify any registers or flags|
| ||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|
| ||SIM instruction affects the maskability of the interrupts ||RIM instruction does not affect the maskability of the interrupts|