aboutsummaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/cpu/cpu.ts5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cpu/cpu.ts b/src/cpu/cpu.ts
index 2675d1d..fe3bf63 100644
--- a/src/cpu/cpu.ts
+++ b/src/cpu/cpu.ts
@@ -141,9 +141,10 @@ export class CPU {
}
updateInterruptEnable(interrupt: AVRInterruptConfig, registerValue: u8) {
- const { enableMask, flagRegister, flagMask } = interrupt;
+ const { enableMask, flagRegister, flagMask, inverseFlag } = interrupt;
if (registerValue & enableMask) {
- if (this.data[flagRegister] & flagMask) {
+ const bitSet = this.data[flagRegister] & flagMask;
+ if (inverseFlag ? !bitSet : bitSet) {
this.queueInterrupt(interrupt);
}
} else {