Pokebot
Pokemon FireRed bot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
ThumbDisas.hh
Go to the documentation of this file.
1 #ifndef __THUMB_HH__
2 #define __THUMB_HH__
3 
4 #include <stdint.h>
5 #include <cstdio>
6 #include <vector>
7 #include <queue>
8 #include "../vbam/gba/GBA.h"
9 #include "../vbam/gba/Globals.h"
10 #include "../vbam/gba/armdis.h"
11 #include "../vbam/sdl/SDLGlobals.h"
12 
14 {
15 private:
16  struct Range
17  {
18  Range(uint32_t x = 0, uint32_t y = 0)
19  : start(x), end(y) {}
20  uint32_t start;
21  uint32_t end;
22  };
23 
24 public:
25  ThumbDisas();
26  ~ThumbDisas();
27 
28 private:
29  void _reset();
30  bool _setupNextAddr();
31 
32 public:
33  void print(uint32_t addr);
34  void printInstr(uint8_t instr);
35  void printSpecial(uint16_t instr);
36 
37 private:
38  uint32_t _offset;
39  uint32_t _start;
40  uint32_t _pc;
41  uint32_t _oldpc;
42  std::vector<Range> _ranges;
43  std::queue<uint32_t> _addrs;
44 };
45 
46 #endif
void printSpecial(uint16_t instr)
Definition: ThumbDisas.cpp:82
Definition: ThumbDisas.hh:13
void printInstr(uint8_t instr)
Definition: ThumbDisas.cpp:77
void print(uint32_t addr)
Definition: ThumbDisas.cpp:39
Range(float a=0, float b=0)
Definition: Data.hh:21
ThumbDisas()
Definition: ThumbDisas.cpp:3
~ThumbDisas()
Definition: ThumbDisas.cpp:7