diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 89c37fea2c..f168f3ebcf 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -2511,8 +2511,8 @@ x86_emulate( else { generate_exception_if(!n, X86_EXC_DE); - _regs.al = _regs.al % n; _regs.ah = _regs.al / n; + _regs.al = _regs.al % n; } _regs.eflags &= ~(X86_EFLAGS_SF | X86_EFLAGS_ZF | X86_EFLAGS_PF); _regs.eflags |= !_regs.al ? X86_EFLAGS_ZF : 0;