125 lines
2.1 KiB
C++
125 lines
2.1 KiB
C++
#ifndef _AS68HC11_CODEPOINTER_HPP_
|
|
#define _AS68HC11_CODEPOINTER_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
|
|
class CodePointer
|
|
{
|
|
public:
|
|
CodePointer(void);
|
|
CodePointer(const CodePointer &someCodePointer);
|
|
CodePointer(DWORD origin,DWORD position);
|
|
virtual ~CodePointer();
|
|
CodePointer &operator=(const CodePointer &someCodePointer);
|
|
BOOL operator==(const CodePointer &someCodePointer)const;
|
|
CodePointer &operator++(void);
|
|
CodePointer &operator++(int postFixDummy);
|
|
CodePointer &operator+=(DWORD value);
|
|
CodePointer &operator-=(DWORD value);
|
|
DWORD origin(void)const;
|
|
void origin(DWORD origin);
|
|
DWORD position(void)const;
|
|
void position(DWORD position);
|
|
void reset(void);
|
|
private:
|
|
DWORD mOrigin;
|
|
DWORD mPosition;
|
|
};
|
|
|
|
inline
|
|
CodePointer::CodePointer(void)
|
|
: mOrigin(0), mPosition(0)
|
|
{
|
|
}
|
|
|
|
inline
|
|
CodePointer::CodePointer(DWORD origin,DWORD position)
|
|
: mOrigin(origin), mPosition(position)
|
|
{
|
|
}
|
|
|
|
inline
|
|
CodePointer::CodePointer(const CodePointer &someCodePointer)
|
|
{
|
|
*this=someCodePointer;
|
|
}
|
|
|
|
inline
|
|
CodePointer::~CodePointer()
|
|
{
|
|
}
|
|
|
|
inline
|
|
CodePointer &CodePointer::operator=(const CodePointer &someCodePointer)
|
|
{
|
|
origin(someCodePointer.origin());
|
|
position(someCodePointer.position());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
BOOL CodePointer::operator==(const CodePointer &someCodePointer)const
|
|
{
|
|
return (origin()==someCodePointer.origin()&&position()==someCodePointer.position());
|
|
}
|
|
|
|
inline
|
|
CodePointer &CodePointer::operator++(void)
|
|
{
|
|
position(position()+1);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
CodePointer &CodePointer::operator++(int postfixDummy)
|
|
{
|
|
return operator++();
|
|
}
|
|
|
|
inline
|
|
CodePointer &CodePointer::operator+=(DWORD value)
|
|
{
|
|
position(position()+value);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
CodePointer &CodePointer::operator-=(DWORD value)
|
|
{
|
|
position(position()-value);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
DWORD CodePointer::origin(void)const
|
|
{
|
|
return mOrigin;
|
|
}
|
|
|
|
inline
|
|
void CodePointer::origin(DWORD origin)
|
|
{
|
|
mOrigin=origin;
|
|
position(origin);
|
|
}
|
|
|
|
inline
|
|
DWORD CodePointer::position(void)const
|
|
{
|
|
return mPosition;
|
|
}
|
|
|
|
inline
|
|
void CodePointer::position(DWORD position)
|
|
{
|
|
mPosition=position;
|
|
}
|
|
|
|
inline
|
|
void CodePointer::reset(void)
|
|
{
|
|
origin(0);
|
|
position(0);
|
|
}
|
|
#endif |