public void Print(IPrintState state) { switch (this.Operand) { case OperandType.Integer: case OperandType.Float: case OperandType.Object: { state.Print("push", this.Operand, this.Value); return; } case OperandType.String: { var value = (string)this.Value; state.Print("push", this.Operand, "\"" + value + "\""); return; } case OperandType.Resource: { var value = (string)this.Value; state.Print("push", this.Operand, "'" + value + "'"); return; } } throw new NotSupportedException(); }
public void Print(IPrintState state) { if (this.Operand == Script.OperandType.StructureStructure) { state.Print("eq", this.Operand, this.StructureSize); } else { state.Print("eq", this.Operand); } }
public void Print(IPrintState state) { //state.Print("movsp", this.Value); if (this.Value >= 0) { state.Print("addsp", this.Value); } else { state.Print("subsp", -this.Value); } }
public void Print(IPrintState state) { state.Print("destruct", this.Unknown1, this.Unknown2, this.Unknown3); }
public void Print(IPrintState state) { state.Print("reserve", this.Operand); }
public void Print(IPrintState state) { state.Print("syscall", this.Routine, this.ArgumentCount); }
public void Print(IPrintState state) { state.Print("???U49", this.Unknown1, this.Unknown2); }
public void Print(IPrintState state) { state.Print("nop"); }
public void Print(IPrintState state) { state.Print("jz", state.GetLabel(this.Destination)); }
public void Print(IPrintState state) { state.Print("restorebp"); }
public void Print(IPrintState state) { state.Print("cptopbp", this.Destination, this.ByteCount); }
public void Print(IPrintState state) { state.Print("decisp", this.Destination); }
public void Print(IPrintState state) { state.Print("savebp"); }
public void Print(IPrintState state) { state.Print("ret"); }
public void Print(IPrintState state) { state.Print("div", this.Operand); }
public void Print(IPrintState state) { state.Print("gt", this.Operand); }
public void Print(IPrintState state) { state.Print("incisp", this.Destination); }
public void Print(IPrintState state) { state.Print("cptopsp", this.Destination, this.ByteCount); }