diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp index 2d6874bd0d1..eaa77627aed 100644 --- a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp +++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp @@ -2384,6 +2384,7 @@ void SoftCPU::INC_reg32(const X86::Instruction& insn) void SoftCPU::INSB(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INSD(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INSW(const X86::Instruction&) { TODO_INSN(); } +void SoftCPU::INT1(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INT3(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INTO(const X86::Instruction&) { TODO_INSN(); } diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.h b/Userland/DevTools/UserspaceEmulator/SoftCPU.h index c9713cdb3ee..3d5f287e7f9 100644 --- a/Userland/DevTools/UserspaceEmulator/SoftCPU.h +++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.h @@ -729,6 +729,7 @@ private: virtual void INSB(const X86::Instruction&) override; virtual void INSD(const X86::Instruction&) override; virtual void INSW(const X86::Instruction&) override; + virtual void INT1(const X86::Instruction&) override; virtual void INT3(const X86::Instruction&) override; virtual void INTO(const X86::Instruction&) override; virtual void INT_imm8(const X86::Instruction&) override; diff --git a/Userland/Libraries/LibX86/Instruction.cpp b/Userland/Libraries/LibX86/Instruction.cpp index a0d74c23cff..2e0fac7059a 100644 --- a/Userland/Libraries/LibX86/Instruction.cpp +++ b/Userland/Libraries/LibX86/Instruction.cpp @@ -625,6 +625,8 @@ static void build_slash_reg(u8 op, u8 slash, const char* mnemonic, InstructionFo build(0xEE, "OUT", OP_DX_AL, &Interpreter::OUT_DX_AL); build(0xEF, "OUT", OP_DX_AX, &Interpreter::OUT_DX_AX, OP_DX_EAX, &Interpreter::OUT_DX_EAX); + build(0xF1, "INT1", OP, &Interpreter::INT1); + build(0xF4, "HLT", OP, &Interpreter::HLT); build(0xF5, "CMC", OP, &Interpreter::CMC); diff --git a/Userland/Libraries/LibX86/Interpreter.h b/Userland/Libraries/LibX86/Interpreter.h index 78a990b478f..b451acd7775 100644 --- a/Userland/Libraries/LibX86/Interpreter.h +++ b/Userland/Libraries/LibX86/Interpreter.h @@ -276,6 +276,7 @@ public: virtual void INSB(const Instruction&) = 0; virtual void INSD(const Instruction&) = 0; virtual void INSW(const Instruction&) = 0; + virtual void INT1(const Instruction&) = 0; virtual void INT3(const Instruction&) = 0; virtual void INTO(const Instruction&) = 0; virtual void INT_imm8(const Instruction&) = 0;