Cosmos/source/Cosmos.IL2CPU/IL/Pop.cs
Matthijs ter Woord 1b42377138 .
2016-06-14 17:53:14 -04:00

23 lines
630 B
C#

using System;
using XSharp.Compiler;
using CPUx86 = Cosmos.Assembler.x86;
namespace Cosmos.IL2CPU.X86.IL
{
[Cosmos.IL2CPU.OpCode(ILOpCode.Code.Pop)]
public class Pop : ILOp
{
public Pop(Cosmos.Assembler.Assembler aAsmblr)
: base(aAsmblr)
{
}
public override void Execute(MethodInfo aMethod, ILOpCode aOpCode)
{
// todo: implement exception support.
var xSize = SizeOfType(aOpCode.StackPopTypes[0]);
XS.Add(XSRegisters.OldToNewRegister(CPUx86.RegistersEnum.ESP), Align((uint)xSize, 4));
}
}
}