| 234 | } |
| 235 | |
| 236 | void DisassemblyManager::getLine(u32 address, bool insertSymbols, DisassemblyLineInfo& dest) |
| 237 | { |
| 238 | auto it = findDisassemblyEntry(entries,address,false); |
| 239 | if (it == entries.end()) |
| 240 | { |
| 241 | analyze(address); |
| 242 | it = findDisassemblyEntry(entries,address,false); |
| 243 | |
| 244 | if (it == entries.end()) |
| 245 | { |
| 246 | if (address % 4) |
| 247 | dest.totalSize = ((address+3) & ~3)-address; |
| 248 | else |
| 249 | dest.totalSize = 4; |
| 250 | dest.name = "ERROR"; |
| 251 | dest.params = "Disassembly failure"; |
| 252 | return; |
| 253 | } |
| 254 | } |
| 255 | |
| 256 | DisassemblyEntry* entry = it->second; |
| 257 | if (entry->disassemble(address,dest,insertSymbols)) |
| 258 | return; |
| 259 | |
| 260 | if (address % 4) |
| 261 | dest.totalSize = ((address+3) & ~3)-address; |
| 262 | else |
| 263 | dest.totalSize = 4; |
| 264 | dest.name = "ERROR"; |
| 265 | dest.params = "Disassembly failure"; |
| 266 | } |
| 267 | |
| 268 | u32 DisassemblyManager::getStartAddress(u32 address) |
| 269 | { |
no test coverage detected