// ; (No Type Info available) //; Method 'System.Void Cosmos.Kernel.Plugs.CPU.GetCPUId(System.UInt32&, System.UInt32&, System.UInt32&, System.UInt32&, System.UInt32)' //; Locals: //; (none) //; Arguments: //; (0) 16 4 ebp + 018h (Type = System.UInt32&) //; (1) 12 4 ebp + 014h (Type = System.UInt32&) //; (2) 8 4 ebp + 010h (Type = System.UInt32&) //; (3) 4 4 ebp + 0Ch (Type = System.UInt32&) //; (4) 0 4 ebp + 08h (Type = System.UInt32) //; ReturnSize: 0 public override void AssembleNew(Cosmos.Assembler.Assembler aAssembler, object aMethodInfo) { new CPUx86.ClrInterruptFlag(); XS.Mov(XSRegisters.EAX, XSRegisters.EBP, sourceDisplacement: 8); XS.CpuId(); XS.Mov(XSRegisters.EDI, XSRegisters.EBP, sourceDisplacement: 0x18); XS.Mov(XSRegisters.EDI, XSRegisters.EDX, destinationIsIndirect: true); XS.Mov(XSRegisters.EDI, XSRegisters.EBP, sourceDisplacement: 0x14); XS.Mov(XSRegisters.EDI, XSRegisters.ECX, destinationIsIndirect: true); XS.Mov(XSRegisters.EDI, XSRegisters.EBP, sourceDisplacement: 0x10); XS.Mov(XSRegisters.EDI, XSRegisters.EBX, destinationIsIndirect: true); XS.Mov(XSRegisters.EDI, XSRegisters.EBP, sourceDisplacement: 0xC); XS.Mov(XSRegisters.EDI, XSRegisters.EAX, destinationIsIndirect: true); XS.Sti(); }