예제 #1
0
        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();
        }
예제 #2
0
 public void Print(IPrintState state)
 {
     if (this.Operand == Script.OperandType.StructureStructure)
     {
         state.Print("eq", this.Operand, this.StructureSize);
     }
     else
     {
         state.Print("eq", this.Operand);
     }
 }
예제 #3
0
 public void Print(IPrintState state)
 {
     if (this.Operand == Script.OperandType.StructureStructure)
     {
         state.Print("eq", this.Operand, this.StructureSize);
     }
     else
     {
         state.Print("eq", this.Operand);
     }
 }
예제 #4
0
        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("movsp", this.Value);

            if (this.Value >= 0)
            {
                state.Print("addsp", this.Value);
            }
            else
            {
                state.Print("subsp", -this.Value);
            }
        }
예제 #6
0
 public void Print(IPrintState state)
 {
     state.Print("destruct", this.Unknown1, this.Unknown2, this.Unknown3);
 }
 public void Print(IPrintState state)
 {
     state.Print("destruct", this.Unknown1, this.Unknown2, this.Unknown3);
 }
 public void Print(IPrintState state)
 {
     state.Print("reserve", this.Operand);
 }
예제 #9
0
 public void Print(IPrintState state)
 {
     state.Print("syscall", this.Routine, this.ArgumentCount);
 }
예제 #10
0
 public void Print(IPrintState state)
 {
     state.Print("???U49", this.Unknown1, this.Unknown2);
 }
예제 #11
0
 public void Print(IPrintState state)
 {
     state.Print("nop");
 }
예제 #12
0
 public void Print(IPrintState state)
 {
     state.Print("jz", state.GetLabel(this.Destination));
 }
예제 #13
0
 public void Print(IPrintState state)
 {
     state.Print("restorebp");
 }
예제 #14
0
 public void Print(IPrintState state)
 {
     state.Print("reserve", this.Operand);
 }
예제 #15
0
        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();
        }
예제 #16
0
 public void Print(IPrintState state)
 {
     state.Print("cptopbp", this.Destination, this.ByteCount);
 }
예제 #17
0
 public void Print(IPrintState state)
 {
     state.Print("nop");
 }
예제 #18
0
 public void Print(IPrintState state)
 {
     state.Print("decisp", this.Destination);
 }
예제 #19
0
 public void Print(IPrintState state)
 {
     state.Print("savebp");
 }
예제 #20
0
 public void Print(IPrintState state)
 {
     state.Print("ret");
 }
예제 #21
0
 public void Print(IPrintState state)
 {
     state.Print("jz", state.GetLabel(this.Destination));
 }
예제 #22
0
 public void Print(IPrintState state)
 {
     state.Print("div", this.Operand);
 }
예제 #23
0
 public void Print(IPrintState state)
 {
     state.Print("???U49", this.Unknown1, this.Unknown2);
 }
예제 #24
0
 public void Print(IPrintState state)
 {
     state.Print("restorebp");
 }
예제 #25
0
 public void Print(IPrintState state)
 {
     state.Print("gt", this.Operand);
 }
 public void Print(IPrintState state)
 {
     state.Print("incisp", this.Destination);
 }
예제 #27
0
 public void Print(IPrintState state)
 {
     state.Print("ret");
 }
예제 #28
0
 public void Print(IPrintState state)
 {
     state.Print("savebp");
 }
 public void Print(IPrintState state)
 {
     state.Print("cptopsp", this.Destination, this.ByteCount);
 }
예제 #30
0
 public void Print(IPrintState state)
 {
     state.Print("syscall", this.Routine, this.ArgumentCount);
 }