MCPcopy Create free account
hub / github.com/WheretIB/nullc / GenCodeCmdMovDorLStk

Function GenCodeCmdMovDorLStk

NULLC/CodeGen_X86.cpp:1596–1612  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1594}
1595
1596void GenCodeCmdMovDorLStk(VMCmd cmd)
1597{
1598 EMIT_COMMENT(cmd.flag ? "MOV double stack" : "MOV long stack");
1599
1600 EMIT_OP_REG(o_pop, rEDX);
1601
1602 if(cmd.flag)
1603 {
1604 EMIT_OP_RPTR(o_fld, sQWORD, rESP, 0);
1605 EMIT_OP_RPTR(o_fstp, sQWORD, rEDX, cmd.argument);
1606 }else{
1607 EMIT_OP_RPTR(o_pop, sDWORD, rEDX, cmd.argument);
1608 EMIT_OP_RPTR(o_pop, sDWORD, rEDX, cmd.argument + 4);
1609 EMIT_OP_REG_NUM(o_sub, rESP, 8);
1610 }
1611 KILL_REG(rEBX);KILL_REG(rECX);KILL_REG(rEDX);
1612}
1613
1614void GenCodeCmdMovCmplxStk(VMCmd cmd)
1615{

Callers

nothing calls this directly

Calls 4

EMIT_COMMENTFunction · 0.85
EMIT_OP_REGFunction · 0.85
EMIT_OP_RPTRFunction · 0.85
EMIT_OP_REG_NUMFunction · 0.85

Tested by

no test coverage detected