diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-12-02 11:04:35 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-12-02 11:04:35 (GMT) |
commit | 2c988d3ec52cc4c949a35aca7ef335dac773df92 (patch) | |
tree | fe650d2fc8ddceb606abdf0d2e14e5ef6596be82 /src/arch/arm/v7/pseudo.h | |
parent | 23abef53590bf3dd6f88ff4dbe81e306abfa4386 (diff) |
Created a plugin for the ARM support.
Diffstat (limited to 'src/arch/arm/v7/pseudo.h')
-rw-r--r-- | src/arch/arm/v7/pseudo.h | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/src/arch/arm/v7/pseudo.h b/src/arch/arm/v7/pseudo.h deleted file mode 100644 index 48d73b8..0000000 --- a/src/arch/arm/v7/pseudo.h +++ /dev/null @@ -1,136 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * pseudo.h - prototypes pour l'implémentation des pseudo-fonctions de spécification - * - * Copyright (C) 2014-2017 Cyrille Bagard - * - * This file is part of Chrysalide. - * - * Chrysalide is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * Chrysalide is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Foobar. If not, see <http://www.gnu.org/licenses/>. - */ - - -#ifndef _ARCH_ARM_V7_PSEUDO_H -#define _ARCH_ARM_V7_PSEUDO_H - - -#include <stdbool.h> -#include <stdint.h> - - - -/** - * § A2.2.1 - Integer arithmetic - */ - - -/* Traduit la fonction 'LSL_C'. */ -bool armv7_lsl_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'LSL'. */ -bool armv7_lsl(uint32_t, unsigned int, unsigned int, uint32_t *); - -/* Traduit la fonction 'LSR_C'. */ -bool armv7_lsr_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'LSR'. */ -bool armv7_lsr(uint32_t, unsigned int, unsigned int, uint32_t *); - -/* Traduit la fonction 'ASR_C'. */ -bool armv7_asr_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'ASR'. */ -bool armv7_asr(uint32_t, unsigned int, unsigned int, uint32_t *); - -/* Traduit la fonction 'ROR_C'. */ -bool armv7_ror_c(uint32_t, unsigned int, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'ROR'. */ -bool armv7_ror(uint32_t, unsigned int, unsigned int, uint32_t *); - -/* Traduit la fonction 'RRX_C'. */ -bool armv7_rrx_c(uint32_t, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'RRX'. */ -bool armv7_rrx(uint32_t, unsigned int, bool, uint32_t *); - - - -/** - * § A5.2.4 - Modified immediate constants in ARM instructions - */ - - -/* Traduit la fonction 'ARMExpandImm_C'. */ -bool armv7_arm_expand_imm_c(uint32_t, bool *, uint32_t *); - -/* Traduit la fonction 'ARMExpandImm'. */ -bool armv7_arm_expand_imm(uint32_t, uint32_t *); - - - -/** - * § A6.3.2 - Modified immediate constants in Thumb instructions - */ - - -/* Traduit la fonction 'ThumbExpandImm_C'. */ -bool armv7_thumb_expand_imm_c(uint32_t, bool *, uint32_t *); - -/* Traduit la fonction 'ThumbExpandImm'. */ -bool armv7_thumb_expand_imm(uint32_t, uint32_t *); - - - -/** - * § A8.4.3 - Pseudocode details of instruction-specified shifts and rotates - */ - - -typedef enum _SRType -{ - SRType_LSL, - SRType_LSR, - SRType_ASR, - SRType_ROR, - SRType_RRX - -} SRType; - - -/* Traduit la fonction 'DecodeImmShift'. */ -bool armv7_decode_imm_shift(uint8_t, uint8_t, SRType *, uint32_t *); - -/* Traduit la fonction 'DecodeRegShift'. */ -bool armv7_decode_reg_shift(uint8_t, SRType *); - -/* Traduit la fonction 'Shift_C'. */ -bool armv7_shift_c(uint32_t, unsigned int, SRType, unsigned int, bool *, uint32_t *); - -/* Traduit la fonction 'Shift'. */ -bool armv7_shift(uint32_t, unsigned int, SRType, unsigned int, bool, uint32_t *); - - - -/** - * § P.5.3 - Bitstring manipulation - */ - - -/* Traduit la fonction 'ZeroExtend'. */ -uint32_t armv7_zero_extend(uint32_t, unsigned int, unsigned int); - - - -#endif /* _ARCH_ARM_V7_PSEUDO_H */ |