00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include <pch.h>
00033 #include "Emu/Utility/SkipOp.h"
00034
00035
00036
00037 using namespace std;
00038 using namespace Onikiri;
00039
00040 SkipOp::SkipOp(MemIF* mainMem) : m_mainMem(mainMem)
00041 {
00042 }
00043
00044 SkipOp::~SkipOp()
00045 {
00046 }
00047
00048
00049 PC SkipOp::GetPC() const
00050 {
00051 ASSERT(0, "do not call");
00052 return Addr();
00053 }
00054
00055 const u64 SkipOp::GetSrc(const int index) const
00056 {
00057 ASSERT(0, "do not call");
00058 return 0;
00059 }
00060
00061 const u64 SkipOp::GetDst(const int index) const
00062 {
00063 ASSERT(0, "do not call");
00064 return 0;
00065 }
00066
00067
00068 void SkipOp::SetDst(const int index, const u64 value)
00069 {
00070 ASSERT(0, "do not call");
00071 }
00072
00073 void SkipOp::SetTakenPC(const PC takenPC)
00074 {
00075 ASSERT(0, "do not call");
00076 }
00077
00078 PC SkipOp::GetTakenPC() const
00079 {
00080 ASSERT(0, "do not call");
00081 return Addr();
00082 }
00083
00084 void SkipOp::SetTaken(const bool taken)
00085 {
00086 ASSERT(0, "do not call");
00087 }
00088
00089 bool SkipOp::GetTaken() const
00090 {
00091 ASSERT(0, "do not call");
00092 return false;
00093 }
00094
00095
00096 void SkipOp::Read( MemAccess* access )
00097 {
00098 m_mainMem->Read(access);
00099 if( access->result != MemAccess::MAR_SUCCESS ){
00100 RUNTIME_WARNING( "An access violation occurs.\n%s", access->ToString().c_str() );
00101 }
00102 }
00103
00104 void SkipOp::Write( MemAccess* access )
00105 {
00106 m_mainMem->Write(access);
00107 if( access->result != MemAccess::MAR_SUCCESS ){
00108 RUNTIME_WARNING( "An access violation occurs.\n%s", access->ToString().c_str() );
00109 }
00110 }