Cosmos/source2/IL2CPU/Cosmos.IL2CPU.Profiler/Assembler.cs

29 lines
912 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cosmos.IL2CPU.Profiler {
public class Assembler : Cosmos.IL2CPU.X86.AppAssembler {
public Assembler() : base(0) {
}
protected override void InitILOps() {
var xILOp = new ILOp(this.Assembler);
this.DebugInfo = new Debug.Common.DebugInfo();
this.DebugInfo.CreateCPDB(AppDomain.CurrentDomain.BaseDirectory + "DebugInfo");
// Don't change the type in the foreach to a var, its necessary as it is now
// to typecast it, so we can then recast to an int.
foreach (ILOpCode.Code xCode in Enum.GetValues(typeof(ILOpCode.Code))) {
int xCodeValue = (int)xCode;
if (xCodeValue <= 0xFF) {
mILOpsLo[xCodeValue] = xILOp;
} else {
mILOpsHi[xCodeValue & 0xFF] = xILOp;
}
}
}
}
}