Bug fix: check if vm exists
[avr-sim.git] / Program.cpp
blobb45199fc303c22f517a55ab6d9dfb0c2798610c8
1 #include "Program.h"
2 #include <iostream>
4 namespace avr {
6 void Program::addSymbolFlash(int addr, const char *name) {
7 #ifdef DEBUG
8 std::cout << "Flash Symbol: " << name << " (" << addr << ")" << std::endl;
9 #endif
10 symbols.insert( std::make_pair(addr, name) );
13 void Program::addSymbolEeprom(int addr, const char *name) {
14 #ifdef DEBUG
15 std::cout << "Eeprom Symbol: " << name << " (" << addr << ")" << std::endl;
16 #endif
19 void Program::addSymbolRam(int addr, const char *name) {
20 #ifdef DEBUG
21 std::cout << "Ram Symbol: " << name << " (" << addr << ")" << std::endl;
22 #endif
25 const std::string & Program::functionName(int addr) const {
26 static std::string empty;
28 SymTable::const_iterator it = symbols.upper_bound( addr );
29 if( it == symbols.end() )
30 return empty;
32 return it->second;