浏览代码

UserspaceEmulator: Implement the PUSHFD instruction

Andreas Kling 5 年之前
父节点
当前提交
63d3f5d19b
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      DevTools/UserspaceEmulator/SoftCPU.cpp

+ 6 - 1
DevTools/UserspaceEmulator/SoftCPU.cpp

@@ -1249,7 +1249,12 @@ void SoftCPU::POP_reg32(const X86::Instruction& insn)
 void SoftCPU::PUSHA(const X86::Instruction&) { TODO(); }
 void SoftCPU::PUSHAD(const X86::Instruction&) { TODO(); }
 void SoftCPU::PUSHF(const X86::Instruction&) { TODO(); }
-void SoftCPU::PUSHFD(const X86::Instruction&) { TODO(); }
+
+void SoftCPU::PUSHFD(const X86::Instruction&)
+{
+    push32(m_eflags & 0x00fcffff);
+}
+
 void SoftCPU::PUSH_CS(const X86::Instruction&) { TODO(); }
 void SoftCPU::PUSH_DS(const X86::Instruction&) { TODO(); }
 void SoftCPU::PUSH_ES(const X86::Instruction&) { TODO(); }