aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/qtools/read_addr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/qtools/read_addr.cpp')
-rw-r--r--emulator/qtools/read_addr.cpp29
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;
+}