Example #1
0
 /// <summary>
 /// 添加指令方法
 /// </summary>
 /// <param name="instructuion">指令类型</param>
 /// <param name="parameters">参数列表</param>
 public void Add(Instructuions_Package instructuion, ParameterPackage[] parameters)
 {
     if (Instructuions_Package.Set_Memory == instructuion)
     {
         if (!MemorySet)
         {
             if (0 < parameters.Length)
             {
                 if (Parameter_Type.Long == parameters[0].Type)
                 {
                     SetMemory((int)parameters[0].Parameter);
                 }
                 else if (Parameter_Type.BigNumber == parameters[0].Type)
                 {
                     SetMemory((int)(BigInteger)parameters[0].Parameter);
                 }
             }
             else
             {
                 throw new ProgramException(0x02);
             }
         }
         else
         {
             throw new ProgramException(0x03);
         }
     }
     else
     {
         InstructionList.Add(instructuion, parameters);
     }
 }
Example #2
0
 /// <summary>
 /// 添加指令方法
 /// </summary>
 /// <param name="instructuion">指令类型</param>
 /// <param name="parameters">参数列表</param>
 public void Add(Instructuions_Package instructuion, ParameterPackage[] parameters)
 {
     End.Next = new InstructionNode(instructuion)
     {
         Next = null,
         Pre  = End
     };
     End = End.Next;
     Count++;
     if (null != parameters)
     {
         for (int i = 0; i < parameters.Length; i++)
         {
             End.Add(parameters[i].Type, parameters[i].Parameter);
         }
     }
 }
Example #3
0
 public InstructionNode(Instructuions_Package instructuion)
 {
     Instructuion  = instructuion;
     ParameterList = new ParameterList();
 }