Path: blob/master/libmeteor/include/ameteor/disassembler/argshift.hpp
2 views
// Meteor - A Nintendo Gameboy Advance emulator1// Copyright (C) 2009-2011 Philippe Daouadi2//3// This program is free software: you can redistribute it and/or modify4// it under the terms of the GNU General Public License as published by5// the Free Software Foundation, either version 3 of the License, or6// (at your option) any later version.7//8// This program is distributed in the hope that it will be useful,9// but WITHOUT ANY WARRANTY; without even the implied warranty of10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11// GNU General Public License for more details.12//13// You should have received a copy of the GNU General Public License14// along with this program. If not, see <http://www.gnu.org/licenses/>.1516#ifndef __ARG_SHIFT_H__17#define __ARG_SHIFT_H__1819#include "argument.hpp"2021namespace AMeteor22{23namespace Disassembler24{25enum ShiftType26{27SHIFT_LSL = 0,28SHIFT_LSR,29SHIFT_ASR,30SHIFT_ROR,31SHIFT_RRX32};3334class ArgShift : public Argument35{36public :37ArgShift (const Argument& arg1, const Argument& arg2,38ShiftType type, bool memory);39ArgShift (const ArgShift& arg);40~ArgShift ();4142Argument* Clone () const;4344std::string GetString () const;4546private :47const Argument* m_arg1;48const Argument* m_arg2;49ShiftType m_type;50bool m_memory;51};52}53}5455#endif565758