diff options
author | bunnei <ericbunnie@gmail.com> | 2014-04-11 01:55:59 +0200 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-04-11 01:55:59 +0200 |
commit | 95e5436f41a3cffaace7c48be72373bebcaf91e4 (patch) | |
tree | ae2b7f883872d38c69054ca9bb344be3ad22a6c3 /src/core/arm/interpreter/arm_interpreter.h | |
parent | Update README.md (diff) | |
download | yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar.gz yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar.bz2 yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar.lz yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar.xz yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.tar.zst yuzu-95e5436f41a3cffaace7c48be72373bebcaf91e4.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/arm/interpreter/arm_interpreter.h | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h index 932046d9a..f3c86f8dd 100644 --- a/src/core/arm/interpreter/arm_interpreter.h +++ b/src/core/arm/interpreter/arm_interpreter.h @@ -12,22 +12,55 @@ class ARM_Interpreter : virtual public ARM_Interface { public: + ARM_Interpreter(); ~ARM_Interpreter(); - void ExecuteInstruction(); - + /** + * Set the Program Counter to an address + * @param addr Address to set PC to + */ void SetPC(u32 pc); + /* + * Get the current Program Counter + * @return Returns current PC + */ u32 GetPC() const; + /** + * Get an ARM register + * @param index Register index (0-15) + * @return Returns the value in the register + */ u32 GetReg(int index) const; + /** + * Set an ARM register + * @param index Register index (0-15) + * @param value Value to set register to + */ + void SetReg(int index, u32 value); + + /** + * Get the current CPSR register + * @return Returns the value of the CPSR register + */ u32 GetCPSR() const; + /** + * Returns the number of clock ticks since the last reset + * @return Returns number of clock ticks + */ u64 GetTicks() const; +protected: + + /// Execture next instruction + void ExecuteInstruction(); + private: + ARMul_State* m_state; DISALLOW_COPY_AND_ASSIGN(ARM_Interpreter); |