From 0a0051eb590bacd2c45b53022ea9c9cce3db54fa Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 26 Sep 2023 15:16:41 -0400 Subject: [PATCH] I've just been inconsistent with POP. Stop being so. 71 failures from 288 tests. --- InstructionSets/x86/Decoder.cpp | 6 +++--- InstructionSets/x86/Instruction.hpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/InstructionSets/x86/Decoder.cpp b/InstructionSets/x86/Decoder.cpp index 2affe9fb5..3defd0b53 100644 --- a/InstructionSets/x86/Decoder.cpp +++ b/InstructionSets/x86/Decoder.cpp @@ -133,7 +133,7 @@ std::pair::InstructionT> Decoder::decode(con PartialBlock(0x00, ADD); break; case 0x06: Complete(PUSH, ES, None, data_size_); break; - case 0x07: Complete(POP, None, ES, data_size_); break; + case 0x07: Complete(POP, ES, None, data_size_); break; PartialBlock(0x08, OR); break; case 0x0e: Complete(PUSH, CS, None, data_size_); break; @@ -150,11 +150,11 @@ std::pair::InstructionT> Decoder::decode(con PartialBlock(0x10, ADC); break; case 0x16: Complete(PUSH, SS, None, DataSize::Word); break; - case 0x17: Complete(POP, None, SS, DataSize::Word); break; + case 0x17: Complete(POP, SS, None, DataSize::Word); break; PartialBlock(0x18, SBB); break; case 0x1e: Complete(PUSH, DS, None, DataSize::Word); break; - case 0x1f: Complete(POP, None, DS, DataSize::Word); break; + case 0x1f: Complete(POP, DS, None, DataSize::Word); break; PartialBlock(0x20, AND); break; case 0x26: segment_override_ = Source::ES; break; diff --git a/InstructionSets/x86/Instruction.hpp b/InstructionSets/x86/Instruction.hpp index 85030b0a0..e95d03513 100644 --- a/InstructionSets/x86/Instruction.hpp +++ b/InstructionSets/x86/Instruction.hpp @@ -154,7 +154,7 @@ enum class Operation: uint8_t { XOR, /// NOP; no further fields. NOP, - /// POP from the stack to destination. + /// POP from the stack to source. POP, /// POP from the stack to the flags register. POPF,