MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / getNthPreviousAddress

Method getNthPreviousAddress

pcsx2/DebugTools/DisassemblyManager.cpp:284–308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282}
283
284u32 DisassemblyManager::getNthPreviousAddress(u32 address, int n)
285{
286 while (cpu->isValidAddress(address))
287 {
288 auto it = findDisassemblyEntry(entries,address,false);
289
290 while (it != entries.end())
291 {
292 DisassemblyEntry* entry = it->second;
293 int oldLineNum = entry->getLineNum(address,true);
294 if (n <= oldLineNum)
295 {
296 return entry->getLineAddress(oldLineNum-n);
297 }
298
299 address = entry->getLineAddress(0)-1;
300 n -= oldLineNum+1;
301 it = findDisassemblyEntry(entries,address,false);
302 }
303
304 analyze(address-127,128);
305 }
306
307 return address-n*4;
308}
309
310u32 DisassemblyManager::getNthNextAddress(u32 address, int n)
311{

Callers

nothing calls this directly

Calls 5

findDisassemblyEntryFunction · 0.85
isValidAddressMethod · 0.80
endMethod · 0.45
getLineNumMethod · 0.45
getLineAddressMethod · 0.45

Tested by

no test coverage detected