diff --git a/src/m68k.rs b/src/m68k.rs index c5e175a..8058d68 100644 --- a/src/m68k.rs +++ b/src/m68k.rs @@ -540,6 +540,10 @@ impl M68K { self.write_effective(dst, u32::from(self.sr & 0xFF), Size::Word)?; } Instruction::MoveFromSr(dst) => { + if !self.is_supervisor() { + self.trap(8)?; + return Err(InsExecError::AbnormalTrap); + } self.write_effective(dst, u32::from(self.sr), Size::Word)?; } Instruction::MoveToCcr(src) => {