LibX86: Add INT1 instruction (needed for disassembly)

This commit is contained in:
Andreas Kling 2021-07-20 15:34:03 +02:00
parent d0fb511d75
commit e7136399a1
4 changed files with 5 additions and 0 deletions

View file

@ -2384,6 +2384,7 @@ void SoftCPU::INC_reg32(const X86::Instruction& insn)
void SoftCPU::INSB(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INSB(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::INSD(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INSD(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::INSW(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::INT3(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::INTO(const X86::Instruction&) { TODO_INSN(); } void SoftCPU::INTO(const X86::Instruction&) { TODO_INSN(); }

View file

@ -729,6 +729,7 @@ private:
virtual void INSB(const X86::Instruction&) override; virtual void INSB(const X86::Instruction&) override;
virtual void INSD(const X86::Instruction&) override; virtual void INSD(const X86::Instruction&) override;
virtual void INSW(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 INT3(const X86::Instruction&) override;
virtual void INTO(const X86::Instruction&) override; virtual void INTO(const X86::Instruction&) override;
virtual void INT_imm8(const X86::Instruction&) override; virtual void INT_imm8(const X86::Instruction&) override;

View file

@ -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(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(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(0xF4, "HLT", OP, &Interpreter::HLT);
build(0xF5, "CMC", OP, &Interpreter::CMC); build(0xF5, "CMC", OP, &Interpreter::CMC);

View file

@ -276,6 +276,7 @@ public:
virtual void INSB(const Instruction&) = 0; virtual void INSB(const Instruction&) = 0;
virtual void INSD(const Instruction&) = 0; virtual void INSD(const Instruction&) = 0;
virtual void INSW(const Instruction&) = 0; virtual void INSW(const Instruction&) = 0;
virtual void INT1(const Instruction&) = 0;
virtual void INT3(const Instruction&) = 0; virtual void INT3(const Instruction&) = 0;
virtual void INTO(const Instruction&) = 0; virtual void INTO(const Instruction&) = 0;
virtual void INT_imm8(const Instruction&) = 0; virtual void INT_imm8(const Instruction&) = 0;