Esempio n. 1
0
        public void ReadProgram()
        {
            int fctId = 0;

            while (!Reader.IsOver())
            {
                int idx        = Reader.GetCounter();
                int checkIndex = Reader.GetCounter() - (Defines.SIZE_INT * (FuncsIdx.Count + 1));

                if (FuncsIdx.Contains(checkIndex))
                {
                    Output.OutputFunctionStart(idx - Defines.SIZE_INT * (FuncsIdx.Count + 1), fctId++, Reader.NextInt());
                }
                else
                {
                    OPCodes.Codes code = (OPCodes.Codes)Reader.NextInt();
                    List <string> args = ExtractArgs(code);

                    Output.OutputInstruction(idx - Defines.SIZE_INT * (FuncsIdx.Count + 1), code, args);
                }
            }
        }