diff options
Diffstat (limited to 'emulator/qtools/read_addr.cpp')
-rw-r--r-- | emulator/qtools/read_addr.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/emulator/qtools/read_addr.cpp b/emulator/qtools/read_addr.cpp new file mode 100644 index 0000000..38fc62a --- /dev/null +++ b/emulator/qtools/read_addr.cpp @@ -0,0 +1,29 @@ +#include <stdio.h> +#include <stdlib.h> +#include <inttypes.h> +#include "trace_reader.h" + +int main(int argc, char **argv) { + if (argc != 2) { + fprintf(stderr, "Usage: %s trace_file\n", argv[0]); + exit(1); + } + + char *trace_filename = argv[1]; + TraceReaderBase *trace = new TraceReaderBase; + trace->Open(trace_filename); + + while (1) { + uint64_t time; + uint32_t addr; + int flags; + + if (trace->ReadAddr(&time, &addr, &flags)) + break; + char *op = "ld"; + if (flags == 1) + op = "st"; + printf("%lld 0x%08x %s\n", time, addr, op); + } + return 0; +} |