Technical News M16C-85-0204 says "When clearing an interrupt request bits, depending on the instruction used, an interrupt request bit may not get cleared. Please use an MOV instruction.", but in what cases does not the interrupt request bit get cleared?
There is a case that the interrupt request bit (IR bit) does not get cleared with a BCLR instruction (Read/Modify/Write instruction). This is because if an interrupt request is generated during the execution of a Read/Modify/Write instruction, the interrupt request will be locked and modification will be inhibited. When the IR bit is "1", if rewriting is done by such a Read/Modify/Write instruction as a BCLR instruction and an interrupt request to clear the IR bit is generated during the execution of the instruction, the IR bit remains to be "1". The IR bit does not get locked as described above with an MOV instruction so the interrupt request bit always gets cleared.
|M16C/6NK, M16C/6NL, M16C/6NM, M16C/6NN|