using System; using Cosmos.IL2CPU.Plugs; using CPUx86 = Cosmos.Assembler.x86; using Assembler = Cosmos.Assembler; namespace Cosmos.Kernel.Plugs.Assemblers { public class ASMSetPageDirectory: AssemblerMethod { public override void AssembleNew(Cosmos.Assembler.Assembler aAssembler, object aMethodInfo) { new CPUx86.Mov { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.ESP, SourceIsIndirect = true, SourceDisplacement = 0x8 }; new CPUx86.Mov { DestinationReg = CPUx86.Registers.CR3, SourceReg = CPUx86.Registers.EAX }; } } }