Exemplo n.º 1
0
        private void SetDirectives(DataDirective directive)
        {
            switch (directive)
            {
            case DataDirective.DotDB:
                byteCode = shortByteCode;
                wordCode = shortWordCode;
                break;

            case DataDirective.DotByte:
                byteCode = longByteCode;
                wordCode = longWordCode;
                break;

            default:
                throw new ArgumentException("Invalid directive type.");
                break;
            }
        }
Exemplo n.º 2
0
        private ItemDataDisassembler(Level level, DataDirective directive)
        {
            this.level = level;
            SetDirectives(directive);
            CreateRowList(level);

            int dataOffset = rows[0].Offset;
            var pointer    = level.CreatePointer((pRom)dataOffset);

            result.AppendLine("; Offset of item data");
            result.AppendLine(".org " + FormatWord(pointer.Value));

            for (int i = 0; i < rows.Count; i++)
            {
                ItemRowEntry row     = rows[i];
                ItemRowEntry nextRow = GetNextRow(row);

                DisassmRow(row, nextRow);
            }
        }
Exemplo n.º 3
0
        public static string GetItemDisassembly(Level l, DataDirective directiveType)
        {
            var disassembler = new ItemDataDisassembler(l, directiveType);

            return(disassembler.GetDisassebly());
        }