/* Copyright (c) 2013-2014 Jeffrey Pfau * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef ARM_DECODER_INLINES_H #define ARM_DECODER_INLINES_H #include "decoder.h" #include "arm.h" #include #include #define LOAD_CYCLES \ info->iCycles = 1; \ info->nDataCycles = 1; #define STORE_CYCLES \ info->sInstructionCycles = 0; \ info->nInstructionCycles = 1; \ info->nDataCycles = 1; static inline bool ARMInstructionIsBranch(enum ARMMnemonic mnemonic) { switch (mnemonic) { case ARM_MN_B: case ARM_MN_BL: case ARM_MN_BX: // TODO: case: ARM_MN_BLX: return true; default: return false; } } #endif