1 /* Capstone Disassembly Engine */ 2 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */ 3 4 #ifndef CS_ARM64_MAP_H 5 #define CS_ARM64_MAP_H 6 7 #include "capstone/capstone.h" 8 9 // return name of regiser in friendly string 10 const char *AArch64_reg_name(csh handle, unsigned int reg); 11 12 // given internal insn id, return public instruction info 13 void AArch64_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id); 14 15 const char *AArch64_insn_name(csh handle, unsigned int id); 16 17 const char *AArch64_group_name(csh handle, unsigned int id); 18 19 // map instruction name to public instruction ID 20 arm64_reg AArch64_map_insn(const char *name); 21 22 // map internal vregister to public register 23 arm64_reg AArch64_map_vregister(unsigned int r); 24 25 void arm64_op_addReg(MCInst *MI, int reg); 26 27 void arm64_op_addVectorArrSpecifier(MCInst * MI, int sp); 28 29 void arm64_op_addVectorElementSizeSpecifier(MCInst * MI, int sp); 30 31 void arm64_op_addFP(MCInst *MI, float fp); 32 33 void arm64_op_addImm(MCInst *MI, int64_t imm); 34 35 uint8_t *AArch64_get_op_access(cs_struct *h, unsigned int id); 36 37 void AArch64_reg_access(const cs_insn *insn, 38 cs_regs regs_read, uint8_t *regs_read_count, 39 cs_regs regs_write, uint8_t *regs_write_count); 40 41 #endif 42