mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:37:35 +00:00
UserspaceEmulator: Implement RET_imm16
This is just like RET, but it also pops N bytes off the stack.
This commit is contained in:
parent
eb86264d3b
commit
bfacb9583a
1 changed files with 8 additions and 1 deletions
|
@ -1009,7 +1009,14 @@ void SoftCPU::RET(const X86::Instruction& insn)
|
||||||
|
|
||||||
void SoftCPU::RETF(const X86::Instruction&) { TODO(); }
|
void SoftCPU::RETF(const X86::Instruction&) { TODO(); }
|
||||||
void SoftCPU::RETF_imm16(const X86::Instruction&) { TODO(); }
|
void SoftCPU::RETF_imm16(const X86::Instruction&) { TODO(); }
|
||||||
void SoftCPU::RET_imm16(const X86::Instruction&) { TODO(); }
|
|
||||||
|
void SoftCPU::RET_imm16(const X86::Instruction& insn)
|
||||||
|
{
|
||||||
|
ASSERT(!insn.has_operand_size_override_prefix());
|
||||||
|
set_eip(pop32());
|
||||||
|
set_esp(esp() + insn.imm16());
|
||||||
|
}
|
||||||
|
|
||||||
void SoftCPU::ROL_RM16_1(const X86::Instruction&) { TODO(); }
|
void SoftCPU::ROL_RM16_1(const X86::Instruction&) { TODO(); }
|
||||||
void SoftCPU::ROL_RM16_CL(const X86::Instruction&) { TODO(); }
|
void SoftCPU::ROL_RM16_CL(const X86::Instruction&) { TODO(); }
|
||||||
void SoftCPU::ROL_RM16_imm8(const X86::Instruction&) { TODO(); }
|
void SoftCPU::ROL_RM16_imm8(const X86::Instruction&) { TODO(); }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue