Home | History | Annotate | Download | only in ARM
      1 //===- ARMInstPrinter.h - Convert ARM MCInst to assembly syntax -*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // This class prints an ARM MCInst to a .s file.
     11 //
     12 //===----------------------------------------------------------------------===//
     13 
     14 /* Capstone Disassembly Engine */
     15 /* By Nguyen Anh Quynh <aquynh (at) gmail.com>, 2013-2014 */
     16 
     17 #ifndef CS_ARMINSTPRINTER_H
     18 #define CS_ARMINSTPRINTER_H
     19 
     20 #include "../../MCInst.h"
     21 #include "../../MCRegisterInfo.h"
     22 #include "../../SStream.h"
     23 
     24 void ARM_printInst(MCInst *MI, SStream *O, void *Info);
     25 void ARM_post_printer(csh handle, cs_insn *pub_insn, char *mnem, MCInst *mci);
     26 
     27 // setup handle->get_regname
     28 void ARM_getRegName(cs_struct *handle, int value);
     29 
     30 // specify vector data type for vector instructions
     31 void ARM_addVectorDataType(MCInst *MI, arm_vectordata_type vd);
     32 
     33 void ARM_addVectorDataSize(MCInst *MI, int size);
     34 
     35 void ARM_addReg(MCInst *MI, int reg);
     36 
     37 // load usermode registers (LDM, STM)
     38 void ARM_addUserMode(MCInst *MI);
     39 
     40 // sysreg for MRS/MSR
     41 void ARM_addSysReg(MCInst *MI, arm_sysreg reg);
     42 
     43 #endif
     44