diff --git a/src/cpu/core_full/loadwrite.h b/src/cpu/core_full/loadwrite.h index 1b165da8..3a752932 100644 --- a/src/cpu/core_full/loadwrite.h +++ b/src/cpu/core_full/loadwrite.h @@ -67,6 +67,12 @@ static INLINE Bit32u Pop_32() { flags.sf =(FLAGW & 0x080)>0;flags.tf =(FLAGW & 0x100)>0; \ flags.intf =(FLAGW & 0x200)>0; \ flags.df =(FLAGW & 0x400)>0;flags.of =(FLAGW & 0x800)>0; \ - \ + flags.io =(FLAGW >> 12) & 0x03; \ + flags.nt =(FLAGW & 0x4000)>0; \ + if (flags.intf && PIC_IRQCheck) { \ + SaveIP(); \ + PIC_runIRQs(); \ + LoadIP(); \ + } \ }