Exemplo n.º 1
0
        // trim to length
        private static string GetCode(int offset, int length)
        {
            int    bytes = GetLineByteLength(offset);
            string code  = "";

            switch (Data.GetFlag(offset))
            {
            case Data.FlagType.Opcode:
                code = Util.GetInstruction(offset);
                break;

            case Data.FlagType.Unreached:
            case Data.FlagType.Operand:
            case Data.FlagType.Data8Bit:
            case Data.FlagType.Graphics:
            case Data.FlagType.Music:
            case Data.FlagType.Empty:
                code = Util.GetFormattedBytes(offset, 1, bytes);
                break;

            case Data.FlagType.Data16Bit:
                code = Util.GetFormattedBytes(offset, 2, bytes);
                break;

            case Data.FlagType.Data24Bit:
                code = Util.GetFormattedBytes(offset, 3, bytes);
                break;

            case Data.FlagType.Data32Bit:
                code = Util.GetFormattedBytes(offset, 4, bytes);
                break;

            case Data.FlagType.Pointer16Bit:
                code = Util.GetPointer(offset, 2);
                break;

            case Data.FlagType.Pointer24Bit:
                code = Util.GetPointer(offset, 3);
                break;

            case Data.FlagType.Pointer32Bit:
                code = Util.GetPointer(offset, 4);
                break;

            case Data.FlagType.Text:
                code = Util.GetFormattedText(offset, bytes);
                break;
            }

            return(string.Format("{0," + (length * -1) + "}", code));
        }