/// <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); } }
/// <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); } } }
public InstructionNode(Instructuions_Package instructuion) { Instructuion = instructuion; ParameterList = new ParameterList(); }