Example #1
0
        public SimSymbol GetSymbol(string name)
        {
            SimSymbol symbol = null;

            if (!Symbols.TryGetValue(name, out symbol))
            {
                throw new SimCPUException();
            }

            return(symbol);
        }
Example #2
0
        public SimSymbol FindSymbol(ulong address)
        {
            // check last result first - very high cache hit ratio
            if (lastSymbol != null && address >= lastSymbol.Address && address < lastSymbol.EndAddress)
            {
                return(lastSymbol);
            }

            foreach (var entry in Symbols)
            {
                if (address >= entry.Value.Address && address < entry.Value.EndAddress)
                {
                    lastSymbol = entry.Value;
                    return(lastSymbol);
                }
            }

            return(null);
        }
Example #3
0
 public CallStackEntry(SimSymbol simSymbol, ulong address, bool display32)
     : this(simSymbol.Name, address, display32)
 {
     SimSymbol = simSymbol;
 }
Example #4
0
        public SimSymbol FindSymbol(ulong address)
        {
            // check last result first - very high cache hit ratio
            if (lastSymbol != null && address >= lastSymbol.Address && address < lastSymbol.EndAddress)
            {
                return lastSymbol;
            }

            foreach (var entry in Symbols)
            {
                if (address >= entry.Value.Address && address < entry.Value.EndAddress)
                {
                    lastSymbol = entry.Value;
                    return lastSymbol;
                }
            }

            return null;
        }