private void Test() { freg = new FlagRegister("freg", PrimitiveType.Word32); reg = new Identifier("reg", PrimitiveType.Word32, new RegisterStorage("reg", 1, 0, PrimitiveType.Word32)); SCZO = new Identifier("SCZO", PrimitiveType.Byte, new FlagGroupStorage(freg, 0xF, "SCZO", PrimitiveType.Byte)); var traces = new RtlTraceBuilder { { new RtlTrace(0x1000) { (m) => { m.Assign(reg, m.Word32(0)); m.Assign(SCZO, m.Cond(reg)); }, (m) => { m.Assign(m.Load(PrimitiveType.Word32, m.Word32(0x1234)), reg); }, (m) => { m.Return(0, 0); } } }, { new RtlTrace(0x1010) { (m) => { m.Assign(reg, m.Word32(1)); }, (m) => { m.Goto(Address.Ptr32(0x1004)); } } }, }; }
public FakeArchitecture() { this.rewriters = new RtlTraceBuilder(); }
private void Test() { reg = new Identifier("reg", PrimitiveType.Word32, new RegisterStorage("reg", 1, PrimitiveType.Word32)); SCZO = new Identifier("SCZO", PrimitiveType.Byte, new FlagGroupStorage(0xF, "SCZO", PrimitiveType.Byte)); var traces = new RtlTraceBuilder { { new RtlTrace(0x1000) { (m) => { m.Assign(reg, m.Word32(0)); m.Assign(SCZO, m.Cond(reg)); }, (m) => { m.Assign(m.Load(PrimitiveType.Word32, m.Word32(0x1234)), reg); }, (m) => { m.Return(0, 0); } } }, { new RtlTrace(0x1010) { (m) => { m.Assign(reg, m.Word32(1)); }, (m) => { m.Goto(Address.Ptr32(0x1004)); } } }, }; }