Rizin
unix-like reverse engineering framework and cli tools
arm_accessors64.h File Reference
#include <capstone/capstone.h>

Go to the source code of this file.

Macros

#define IMM64(x)   (ut64)(insn->detail->arm64.operands[x].imm)
 
#define INSOP64(x)   insn->detail->arm64.operands[x]
 
#define REGID64(x)   insn->detail->arm64.operands[x].reg
 
#define REGBASE64(x)   insn->detail->arm64.operands[x].mem.base
 
#define HASMEMINDEX64(x)   (insn->detail->arm64.operands[x].mem.index != ARM64_REG_INVALID)
 
#define MEMDISP64(x)   (ut64) insn->detail->arm64.operands[x].mem.disp
 
#define ISIMM64(x)   (insn->detail->arm64.operands[x].type == ARM64_OP_IMM)
 
#define ISREG64(x)   (insn->detail->arm64.operands[x].type == ARM64_OP_REG)
 
#define ISMEM64(x)   (insn->detail->arm64.operands[x].type == ARM64_OP_MEM)
 
#define LSHIFT2_64(x)   0
 
#define OPCOUNT64()   insn->detail->arm64.op_count
 
#define ISWRITEBACK64()   (insn->detail->arm64.writeback == true)
 
#define ISPREINDEX64()   (((OPCOUNT64() == 2) && (ISMEM64(1)) && (ISWRITEBACK64())) || ((OPCOUNT64() == 3) && (ISMEM64(2)) && (ISWRITEBACK64())))
 
#define ISPOSTINDEX64()   (((OPCOUNT64() == 3) && (ISIMM64(2)) && (ISWRITEBACK64())) || ((OPCOUNT64() == 4) && (ISIMM64(3)) && (ISWRITEBACK64())))
 

Detailed Description

Common macros for easy access of capstone arm64 members when having: cs_insn *insn

Definition in file arm_accessors64.h.

Macro Definition Documentation

◆ HASMEMINDEX64

#define HASMEMINDEX64 (   x)    (insn->detail->arm64.operands[x].mem.index != ARM64_REG_INVALID)

Definition at line 18 of file arm_accessors64.h.

◆ IMM64

#define IMM64 (   x)    (ut64)(insn->detail->arm64.operands[x].imm)

Definition at line 12 of file arm_accessors64.h.

◆ INSOP64

#define INSOP64 (   x)    insn->detail->arm64.operands[x]

Definition at line 13 of file arm_accessors64.h.

◆ ISIMM64

#define ISIMM64 (   x)    (insn->detail->arm64.operands[x].type == ARM64_OP_IMM)

Definition at line 20 of file arm_accessors64.h.

◆ ISMEM64

#define ISMEM64 (   x)    (insn->detail->arm64.operands[x].type == ARM64_OP_MEM)

Definition at line 22 of file arm_accessors64.h.

◆ ISPOSTINDEX64

#define ISPOSTINDEX64 ( )    (((OPCOUNT64() == 3) && (ISIMM64(2)) && (ISWRITEBACK64())) || ((OPCOUNT64() == 4) && (ISIMM64(3)) && (ISWRITEBACK64())))

Definition at line 33 of file arm_accessors64.h.

◆ ISPREINDEX64

#define ISPREINDEX64 ( )    (((OPCOUNT64() == 2) && (ISMEM64(1)) && (ISWRITEBACK64())) || ((OPCOUNT64() == 3) && (ISMEM64(2)) && (ISWRITEBACK64())))

Definition at line 32 of file arm_accessors64.h.

◆ ISREG64

#define ISREG64 (   x)    (insn->detail->arm64.operands[x].type == ARM64_OP_REG)

Definition at line 21 of file arm_accessors64.h.

◆ ISWRITEBACK64

#define ISWRITEBACK64 ( )    (insn->detail->arm64.writeback == true)

Definition at line 31 of file arm_accessors64.h.

◆ LSHIFT2_64

#define LSHIFT2_64 (   x)    0

Definition at line 27 of file arm_accessors64.h.

◆ MEMDISP64

#define MEMDISP64 (   x)    (ut64) insn->detail->arm64.operands[x].mem.disp

Definition at line 19 of file arm_accessors64.h.

◆ OPCOUNT64

#define OPCOUNT64 ( )    insn->detail->arm64.op_count

Definition at line 29 of file arm_accessors64.h.

◆ REGBASE64

#define REGBASE64 (   x)    insn->detail->arm64.operands[x].mem.base

Definition at line 16 of file arm_accessors64.h.

◆ REGID64

#define REGID64 (   x)    insn->detail->arm64.operands[x].reg

Definition at line 15 of file arm_accessors64.h.