From 9fc00d5d126a0b5ec1e155675e7a6f309c19b5dc Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 22 Jul 2020 00:03:48 +0200 Subject: [PATCH] UserspaceEmulator: XLAT BX should not check full EBX shadow bits Thanks to Rick van Schijndel for pointing this out. :^) --- DevTools/UserspaceEmulator/SoftCPU.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DevTools/UserspaceEmulator/SoftCPU.cpp b/DevTools/UserspaceEmulator/SoftCPU.cpp index e0e666bb1c..5130e6b80f 100644 --- a/DevTools/UserspaceEmulator/SoftCPU.cpp +++ b/DevTools/UserspaceEmulator/SoftCPU.cpp @@ -2484,7 +2484,7 @@ void SoftCPU::XLAT(const X86::Instruction& insn) if (insn.a32()) warn_if_uninitialized(ebx(), "xlat ebx"); else - warn_if_uninitialized(ebx(), "xlat bx"); + warn_if_uninitialized(bx(), "xlat bx"); warn_if_uninitialized(al(), "xlat al"); u32 offset = (insn.a32() ? ebx().value() : bx().value()) + al().value(); set_al(read_memory8({ segment(insn.segment_prefix().value_or(X86::SegmentRegister::DS)), offset }));