summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-07-12 14:54:30 +0200
committerAndreas Kling <kling@serenityos.org>2020-07-12 14:54:30 +0200
commit8940916232d9797436aea3f5bede652b2f7ab67f (patch)
tree593994f49373ce0959c4bd64c9699b045524d29f
parenta424208399288be8cb961d802b9415c827550f35 (diff)
downloadserenity-8940916232d9797436aea3f5bede652b2f7ab67f.zip
UserspaceEmulator: Implement JMP_RM32
-rw-r--r--DevTools/UserspaceEmulator/SoftCPU.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/DevTools/UserspaceEmulator/SoftCPU.cpp b/DevTools/UserspaceEmulator/SoftCPU.cpp
index 1575c01ee5..44581cc517 100644
--- a/DevTools/UserspaceEmulator/SoftCPU.cpp
+++ b/DevTools/UserspaceEmulator/SoftCPU.cpp
@@ -914,7 +914,11 @@ void SoftCPU::JCXZ_imm8(const X86::Instruction&) { TODO(); }
void SoftCPU::JMP_FAR_mem16(const X86::Instruction&) { TODO(); }
void SoftCPU::JMP_FAR_mem32(const X86::Instruction&) { TODO(); }
void SoftCPU::JMP_RM16(const X86::Instruction&) { TODO(); }
-void SoftCPU::JMP_RM32(const X86::Instruction&) { TODO(); }
+
+void SoftCPU::JMP_RM32(const X86::Instruction& insn)
+{
+ set_eip(insn.modrm().read32(*this, insn));
+}
void SoftCPU::JMP_imm16(const X86::Instruction& insn)
{