public AsmFunction AnalysePart(AsmFunction function, int retAddress) { /*_curFunction = new AsmFunction() * { * Name = function.Name, * StartAddress = function.StartAddress * };*/ _curIdx = 0; _curAddress = function.StartAddress; _lines = function.Lines; _endAddressExclusive = retAddress; while (AnalyseLine(true)) { _curIdx++; } return(_curFunction); }
bool TryFunctionStart() { var m = _fnStart.Match(Line); if (!m.Success) { return(false); } _curFunction = new AsmFunction() { Name = m.Groups["name"].Value, StartAddress = int.Parse(m.Groups["address"].Value, System.Globalization.NumberStyles.HexNumber), LineStart = _curIdx }; _functions.Add(_curFunction.StartAddress, _curFunction); return(true); }