19#define aux_lock 0x00000001
20#define aux_rep 0x00000002
21#define aux_repne 0x00000004
22#define aux_use32 0x00000008
23#define aux_use64 0x00000010
24#define aux_large 0x00000020
25#define aux_short 0x00000040
26#define aux_sgpref 0x00000080
27#define aux_oppref 0x00000100
28#define aux_adpref 0x00000200
29#define aux_basess 0x00000400
30#define aux_natop 0x00000800
31#define aux_natad 0x00001000
32#define aux_fpemu 0x00002000
33#define aux_vexpr 0x00004000
34#define aux_bnd 0x00008000
35#define aux_evex 0x00010000
36#define aux_xop 0x00020000
37#define aux_xacquire 0x00040000
38#define aux_xrelease 0x00080000
42#define o_trreg o_idpspec0
43#define o_dbreg o_idpspec1
44#define o_crreg o_idpspec2
45#define o_fpreg o_idpspec3
46#define o_mmxreg o_idpspec4
47#define o_xmmreg o_idpspec5
48#define o_ymmreg o_idpspec5+1
49#define o_zmmreg o_idpspec5+2
50#define o_kreg o_idpspec5+3
57#define segrg specval_shorts.high
58#define SEGREG_IMM 0xFFFF
61#define segsel specval_shorts.low
62#define hasSIB specflag1
68#define evex_flags Op6.specflag2
70#define cr_suff specflag1
302 switch ( insn.itype )
344 switch ( insn.itype )
383inline bool mode16(
const insn_t &insn) {
return (insn.auxpref & (aux_use32|aux_use64)) == 0; }
384inline bool mode32(
const insn_t &insn) {
return (insn.auxpref & aux_use32) != 0; }
385inline bool mode64(
const insn_t &insn) {
return (insn.auxpref & aux_use64) != 0; }
386inline bool natad(
const insn_t &insn) {
return (insn.auxpref & aux_natad) != 0; }
387inline bool natop(
const insn_t &insn) {
return (insn.auxpref & aux_natop) != 0; }
388inline bool vexpr(
const insn_t &insn) {
return (insn.auxpref & aux_vexpr) != 0; }
389inline bool evexpr(
const insn_t &insn) {
return (insn.auxpref & aux_evex) != 0; }
390inline bool xopexpr(
const insn_t &insn) {
return (insn.auxpref & aux_xop) != 0; }
392inline bool ad16(
const insn_t &insn)
394 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
395 return p == aux_natad || p == aux_use32;
398inline bool ad32(
const insn_t &insn)
400 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
401 return p == (aux_natad|aux_use32)
406inline bool ad64(
const insn_t &insn)
409 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
410 return p == (aux_natad|aux_use64);
417inline bool op16(
const insn_t &insn)
419 int p = insn.auxpref & (aux_use32|aux_use64|aux_natop);
420 return p == aux_natop
422 || p == aux_use64 && (insn.rex &
REX_W) == 0;
425inline bool op32(
const insn_t &insn)
427 int p = insn.auxpref & (aux_use32|aux_use64|aux_natop);
429 || p == (aux_use32|aux_natop)
430 || p == (aux_use64|aux_natop) && (insn.rex &
REX_W) == 0;
433inline bool op64(
const insn_t &insn)
437 && ((insn.rex &
REX_W) != 0
445inline bool op256(
const insn_t &insn)
447 return (insn.rex &
VEX_L) != 0
453inline bool op512(
const insn_t &insn)
455 return evexpr(insn) && (insn.rex &
VEX_L) == 0 && (insn.evex_flags &
EVEX_L) != 0;
460 switch ( insn.itype )
504 switch ( insn.itype )
567 int base = x.sib & 7;
586 if ( (insn.evex_flags &
EVEX_V) != 0 )
595 int scale = (x.sib >> 6) & 3;
617 else if ( !
ad16(insn) )
694 if ( insn.segpref == 0 )
717 return char(
ad64(insn) ? dt_qword :
ad32(insn) ? dt_dword : dt_word);
723 return char(
op64(insn) ? dt_qword :
op32(insn) ? dt_dword :
op16(insn) ? dt_word : dt_byte);
728 return insn.itype ==
NN_ins
731 || insn.itype ==
NN_in;
735#define PROCMOD_NAME pc
736#define PROCMOD_NODE_NAME "$ vmm functions"
737#define IDPFLAGS_NODE_NAME "$ idpflags"
738#define EXC_NODE_NAME "$ ExceptionInfo $"
739#define BP_NODE_NAME "$ Bdsc $"
740#define WRONG_DECISIONS_NODE_NAME "$ handled wrong decisions"
770 return insn.itype ==
NN_lea
815#define PRF_NONE 0x0000
816#define PRF_MOVE 0x0001
817#define PRF_SPILL 0x0002
818#define PRF_MASK (PRF_MOVE | PRF_SPILL)
825#define PINF_SEHCALL 0x0001
826#define PINF_SEHMAN 0x0002
827#define PINF_COOKIE 0x0004
828#define PINF_ALIGNED 0x0008
829#define PINF_VARARG 0x0010
830#define PINF_BPOFF 0x0020
831#define PINF_HAVE_SSIZE 0x0040
832#define PINF_PSI_FLAGS 0x0080
856 if ( (
eh_type & 0xFFFF) == EH_VCSEH )
857 return (
eh_type >> 16) & 0xFFFF;
862 if ( (
eh_type & 0xFFFF) == EH_VCCPPEH )
863 return (
eh_type >> 16) & 0xFFFF;
901 return abiname ==
"mingw";
1099#define AFIDP_PUSH 0x0001
1100#define AFIDP_NOP 0x0002
1102#define AFIDP_MOVOFF 0x0004
1105#define AFIDP_MOVOFF2 0x0008
1108#define AFIDP_ZEROINS 0x0010
1113#define AFIDP_BRTTI 0x0020
1114#define AFIDP_UNKRTTI 0x0040
1115#define AFIDP_EXPFUNC 0x0080
1117#define AFIDP_DIFBASE 0x0100
1118#define AFIDP_NOPREF 0x0200
1119#define AFIDP_NOVXD 0x0400
1120#define AFIDP_NOFPEMU 0x0800
1121#define AFIDP_SHOWRIP 0x1000
1122#define AFIDP_NOSEH 0x2000
1123#define AFIDP_INT3STOP 0x4000
1126#define AFIDP_NOAGGRJMPS 0x8000
1128#define AFIDP_NO_USE_ANY_IND_OP 0x10000
1157#define _PT_486p 0x00000001
1158#define _PT_486r 0x00000002
1159#define _PT_386p 0x00000004
1160#define _PT_386r 0x00000008
1161#define _PT_286p 0x00000010
1162#define _PT_286r 0x00000020
1163#define _PT_086 0x00000040
1164#define _PT_586p 0x00000080
1165#define _PT_586r 0x00000100
1166#define _PT_686r 0x00000200
1167#define _PT_686p 0x00000400
1168#define _PT_mmx 0x00000800
1169#define _PT_pii 0x00001000
1170#define _PT_3d 0x00002000
1171#define _PT_piii 0x00004000
1172#define _PT_k7 0x00008000
1173#define _PT_p4 0x00010000
1174#define _PT_sse3 0x00020000
1175#define _PT_sse4 0x00040000
1181#define PT_sse4 _PT_sse4
1182#define PT_sse3 (_PT_sse3 | _PT_sse4 )
1183#define PT_p4 ( PT_sse3 | _PT_p4 )
1184#define PT_k7 ( PT_p4 | _PT_k7 )
1185#define PT_piii ( PT_k7 | _PT_piii )
1186#define PT_k62 ( PT_piii | _PT_3d )
1188#define PT_pii ( PT_piii | _PT_pii )
1189#define PT_mmx (_PT_mmx | _PT_3d )
1190#define PT_686p ( PT_pii | _PT_686p )
1191#define PT_686r ( PT_686p | _PT_686r )
1192#define PT_586p ( PT_686r | _PT_586p )
1193#define PT_586r ( PT_586p | _PT_586r )
1194#define PT_486p ( PT_586r | _PT_486p )
1195#define PT_486r ( PT_486p | _PT_486r )
1196#define PT_386p ( PT_486r | _PT_386p )
1197#define PT_386r ( PT_386p | _PT_386r )
1198#define PT_286p ( PT_386r | _PT_286p )
1199#define PT_286r ( PT_286p | _PT_286r )
1200#define PT_086 ( PT_286r | _PT_086 )
1206#define PT_ismmx (_PT_mmx )
1207#define PT_is686 (_PT_686r | _PT_686p)
1208#define PT_is586 (_PT_586r | _PT_586p)
1209#define PT_is486 (_PT_486r | _PT_486p)
1210#define PT_is386 (_PT_386r | _PT_386p)
1211#define PT_is286 (_PT_286r | _PT_286p)
1212#define PT_is086 (_PT_086)
@ NN_jnc
Definition allins.hpp:82
@ NN_jnb
Definition allins.hpp:80
@ NN_vscatterdps
Definition allins.hpp:1700
@ NN_loopq
Definition allins.hpp:123
@ NN_vpgatherqd
Definition allins.hpp:1144
@ NN_jmp
Definition allins.hpp:98
@ NN_enterq
Definition allins.hpp:51
@ NN_pushfq
Definition allins.hpp:163
@ NN_vscatterpf1qps
Definition allins.hpp:1729
@ NN_jnae
Definition allins.hpp:79
@ NN_vscatterpf1qpd
Definition allins.hpp:1731
@ NN_jno
Definition allins.hpp:88
@ NN_retf
Definition allins.hpp:172
@ NN_vpscatterdq
Definition allins.hpp:1652
@ NN_leaveq
Definition allins.hpp:108
@ NN_jecxz
Definition allins.hpp:71
@ NN_jnbe
Definition allins.hpp:81
@ NN_jmpni
Definition allins.hpp:100
@ NN_pop
Definition allins.hpp:146
@ NN_jc
Definition allins.hpp:69
@ NN_jbe
Definition allins.hpp:68
@ NN_vgatherqps
Definition allins.hpp:1036
@ NN_jne
Definition allins.hpp:83
@ NN_jnz
Definition allins.hpp:91
@ NN_jz
Definition allins.hpp:97
@ NN_out
Definition allins.hpp:144
@ NN_jae
Definition allins.hpp:66
@ NN_callfi
Definition allins.hpp:29
@ NN_jng
Definition allins.hpp:84
@ NN_jb
Definition allins.hpp:67
@ NN_call
Definition allins.hpp:28
@ NN_vpgatherqq
Definition allins.hpp:1145
@ NN_vgatherpf1qpd
Definition allins.hpp:1723
@ NN_vgatherpf0qpd
Definition allins.hpp:1719
@ NN_jge
Definition allins.hpp:75
@ NN_jo
Definition allins.hpp:92
@ NN_vpscatterqq
Definition allins.hpp:1654
@ NN_pushf
Definition allins.hpp:161
@ NN_jns
Definition allins.hpp:90
@ NN_loope
Definition allins.hpp:125
@ NN_jp
Definition allins.hpp:93
@ NN_jpo
Definition allins.hpp:95
@ NN_vscatterdpd
Definition allins.hpp:1701
@ NN_vscatterpf1dpd
Definition allins.hpp:1730
@ NN_loop
Definition allins.hpp:121
@ NN_in
Definition allins.hpp:55
@ NN_retn
Definition allins.hpp:171
@ NN_vscatterpf0dps
Definition allins.hpp:1724
@ NN_leave
Definition allins.hpp:106
@ NN_enter
Definition allins.hpp:49
@ NN_jna
Definition allins.hpp:78
@ NN_vscatterpf0qpd
Definition allins.hpp:1727
@ NN_vgatherdps
Definition allins.hpp:1034
@ NN_retfq
Definition allins.hpp:881
@ NN_jpe
Definition allins.hpp:94
@ NN_popf
Definition allins.hpp:152
@ NN_jcxz
Definition allins.hpp:70
@ NN_vpscatterqd
Definition allins.hpp:1653
@ NN_ins
Definition allins.hpp:57
@ NN_jnle
Definition allins.hpp:87
@ NN_loopqne
Definition allins.hpp:131
@ NN_vscatterpf1dps
Definition allins.hpp:1728
@ NN_jnp
Definition allins.hpp:89
@ NN_loopne
Definition allins.hpp:129
@ NN_vscatterqpd
Definition allins.hpp:1703
@ NN_vscatterpf0qps
Definition allins.hpp:1725
@ NN_ja
Definition allins.hpp:65
@ NN_vgatherqpd
Definition allins.hpp:1037
@ NN_vpscatterdd
Definition allins.hpp:1651
@ NN_lea
Definition allins.hpp:104
@ NN_outs
Definition allins.hpp:145
@ NN_vgatherpf0qps
Definition allins.hpp:1717
@ NN_jnge
Definition allins.hpp:85
@ NN_jl
Definition allins.hpp:76
@ NN_vgatherpf1dps
Definition allins.hpp:1720
@ NN_vscatterqps
Definition allins.hpp:1702
@ NN_vgatherdpd
Definition allins.hpp:1035
@ NN_loopqe
Definition allins.hpp:127
@ NN_jmpshort
Definition allins.hpp:101
@ NN_jnl
Definition allins.hpp:86
@ NN_vscatterpf0dpd
Definition allins.hpp:1726
@ NN_js
Definition allins.hpp:96
@ NN_je
Definition allins.hpp:73
@ NN_callni
Definition allins.hpp:30
@ NN_vpgatherdq
Definition allins.hpp:1143
@ NN_vgatherpf0dpd
Definition allins.hpp:1718
@ NN_vgatherpf1dpd
Definition allins.hpp:1722
@ NN_jle
Definition allins.hpp:77
@ NN_popfq
Definition allins.hpp:154
@ NN_vpgatherdd
Definition allins.hpp:1142
@ NN_jrcxz
Definition allins.hpp:72
@ NN_vgatherpf1qps
Definition allins.hpp:1721
@ NN_vgatherpf0dps
Definition allins.hpp:1716
@ NN_retnq
Definition allins.hpp:878
@ NN_push
Definition allins.hpp:155
@ NN_jg
Definition allins.hpp:74
flags64_t idaapi get_flags(ea_t ea)
Get flags value for address 'ea'.
Definition bytes.hpp:304
Definition of the IDA database node.
Definition netnode.hpp:241
Operand of an instruction.
Definition ua.hpp:170
uchar n
Number of operand (0,1,2).
Definition ua.hpp:175
uint16 phrase
number of register phrase (o_phrase,o_displ).
Definition ua.hpp:257
optype_t type
Type of operand (see Operand types)
Definition ua.hpp:178
Reimplementation of vector class from STL.
Definition pro.h:2250
Primary mechanism for managing type information.
Definition typeinf.hpp:3046
idaman ssize_t ida_export get_abi_name(qstring *out)
Get ABI name.
comp_t default_compiler()
Get compiler specified by inf.cc.
Definition typeinf.hpp:1918
const callcnv_t CM_CC_STDCALL
stack, purged
Definition typeinf.hpp:885
const comp_t COMP_UNK
Unknown.
Definition typeinf.hpp:1871
const comp_t COMP_MS
Visual C++.
Definition typeinf.hpp:1872
idaman bool ida_export is_off(flags64_t F, int n)
is offset?
const optype_t o_mem
A direct memory reference to a data item.
Definition ua.hpp:84
const optype_t o_displ
An indirect memory reference that uses a register and has an immediate constant added to it: [reg+N] ...
Definition ua.hpp:89
const tinfo_t & type
Definition hexrays.hpp:7301
filetype_t inf_get_filetype()
Definition ida.hpp:680
@ f_PE
Portable Executable (PE)
Definition ida.hpp:47
uint32 callcnv_t
Definition ida.hpp:74
bool inf_is_64bit(void)
Definition ida.hpp:631
uchar comp_t
target compiler id
Definition ida.hpp:72
const int REX_R
Definition intel.hpp:81
bool should_af_use_any_ind_op(void)
Definition intel.hpp:1148
bool is_segreg(int r)
Definition intel.hpp:289
bool should_af_aggrjmps(void)
Definition intel.hpp:1147
int x86_index(const insn_t &insn, const op_t &x)
Definition intel.hpp:646
bool isAMD(uint32 type)
Definition intel.hpp:1226
CASSERT(PROC_MAXOP<=UA_MAXOP)
const regval_t &idaapi getreg_t(const char *name, const regval_t *regvalues)
Definition intel.hpp:921
bool insn_jcc(const insn_t &insn)
Definition intel.hpp:300
bool is_volatile_reg(int r)
Definition intel.hpp:795
bool should_af_push(void)
Definition intel.hpp:1132
bool is_ymmreg(int r)
Definition intel.hpp:293
bool should_af_vxd(void)
Definition intel.hpp:1142
void set_ret_target(ea_t ea, ea_t target)
Definition intel.hpp:1152
bool should_af_brtti(void)
Definition intel.hpp:1137
op_dtype_t address_dtype(const insn_t &insn)
Definition intel.hpp:715
const char maybe_switch_tag
Definition intel.hpp:753
bool isp2(uint32 type)
Definition intel.hpp:1231
bool mode32(const insn_t &insn)
Definition intel.hpp:384
bool is_mmxreg(int r)
Definition intel.hpp:291
bool evexpr(const insn_t &insn)
Definition intel.hpp:389
int has_displ(const op_t &x)
Definition intel.hpp:686
bool is_arith_lea(const insn_t &insn, const op_t &x)
Definition intel.hpp:768
bool should_af_nopref(void)
Definition intel.hpp:1141
const char purge_tag
Definition intel.hpp:745
const int EVEX_R
Definition intel.hpp:73
bool should_af_nop(void)
Definition intel.hpp:1133
RegNo
Definition intel.hpp:89
@ R_ymm28
Definition intel.hpp:237
@ R_ymm19
Definition intel.hpp:228
@ R_zmm29
Definition intel.hpp:271
@ R_xmm6
Definition intel.hpp:174
@ R_xmm31
Definition intel.hpp:223
@ R_xmm19
Definition intel.hpp:211
@ R_mm4
Definition intel.hpp:163
@ R_if
Definition intel.hpp:139
@ R_xmm16
Definition intel.hpp:208
@ R_fpstat
Definition intel.hpp:156
@ R_xmm25
Definition intel.hpp:217
@ R_mm6
Definition intel.hpp:165
@ R_ss
Definition intel.hpp:126
@ R_last
Definition intel.hpp:284
@ R_ymm31
Definition intel.hpp:240
@ R_st3
Definition intel.hpp:150
@ R_zmm0
Definition intel.hpp:242
@ R_bp
Definition intel.hpp:96
@ R_bnd3
Definition intel.hpp:206
@ R_fs
Definition intel.hpp:128
@ R_zmm17
Definition intel.hpp:259
@ R_xmm2
Definition intel.hpp:170
@ R_xmm29
Definition intel.hpp:221
@ R_ymm15
Definition intel.hpp:201
@ R_bnd1
Definition intel.hpp:204
@ R_xmm28
Definition intel.hpp:220
@ R_ymm25
Definition intel.hpp:234
@ R_gs
Definition intel.hpp:129
@ R_bx
Definition intel.hpp:94
@ R_r9
Definition intel.hpp:100
@ R_bpl
Definition intel.hpp:118
@ R_ymm0
Definition intel.hpp:186
@ R_k1
Definition intel.hpp:276
@ R_r13
Definition intel.hpp:104
@ R_dx
Definition intel.hpp:93
@ R_k0
Definition intel.hpp:275
@ R_zmm5
Definition intel.hpp:247
@ R_mm1
Definition intel.hpp:160
@ R_ymm14
Definition intel.hpp:200
@ R_sp
Definition intel.hpp:95
@ R_ymm3
Definition intel.hpp:189
@ R_cl
Definition intel.hpp:109
@ R_zmm21
Definition intel.hpp:263
@ R_st6
Definition intel.hpp:153
@ R_xmm23
Definition intel.hpp:215
@ R_ymm16
Definition intel.hpp:225
@ R_ymm10
Definition intel.hpp:196
@ R_ymm7
Definition intel.hpp:193
@ R_ymm18
Definition intel.hpp:227
@ R_xmm27
Definition intel.hpp:219
@ R_ip
Definition intel.hpp:122
@ R_k4
Definition intel.hpp:279
@ R_fpctrl
Definition intel.hpp:155
@ R_xmm7
Definition intel.hpp:175
@ R_zmm1
Definition intel.hpp:243
@ R_ymm20
Definition intel.hpp:229
@ R_zmm26
Definition intel.hpp:268
@ R_zmm20
Definition intel.hpp:262
@ R_ds
Definition intel.hpp:127
@ R_ymm13
Definition intel.hpp:199
@ R_xmm12
Definition intel.hpp:180
@ R_af
Definition intel.hpp:137
@ R_zmm11
Definition intel.hpp:253
@ R_zmm13
Definition intel.hpp:255
@ R_ymm23
Definition intel.hpp:232
@ R_r12
Definition intel.hpp:103
@ R_ch
Definition intel.hpp:113
@ R_zmm16
Definition intel.hpp:258
@ R_ax
Definition intel.hpp:91
@ R_ymm11
Definition intel.hpp:197
@ R_r15
Definition intel.hpp:106
@ R_mm5
Definition intel.hpp:164
@ R_ah
Definition intel.hpp:112
@ R_xmm3
Definition intel.hpp:171
@ R_k5
Definition intel.hpp:280
@ R_al
Definition intel.hpp:108
@ R_ymm27
Definition intel.hpp:236
@ R_dil
Definition intel.hpp:120
@ R_zmm24
Definition intel.hpp:266
@ R_ymm4
Definition intel.hpp:190
@ R_xmm5
Definition intel.hpp:173
@ R_ymm8
Definition intel.hpp:194
@ R_cf
Definition intel.hpp:131
@ R_ymm24
Definition intel.hpp:233
@ R_xmm8
Definition intel.hpp:176
@ R_zmm19
Definition intel.hpp:261
@ R_r10
Definition intel.hpp:101
@ R_zmm7
Definition intel.hpp:249
@ R_zmm25
Definition intel.hpp:267
@ R_spl
Definition intel.hpp:117
@ R_st0
Definition intel.hpp:147
@ R_ymm30
Definition intel.hpp:239
@ R_ymm1
Definition intel.hpp:187
@ R_xmm10
Definition intel.hpp:178
@ R_st7
Definition intel.hpp:154
@ R_zmm3
Definition intel.hpp:245
@ R_k6
Definition intel.hpp:281
@ R_zmm31
Definition intel.hpp:273
@ R_ymm17
Definition intel.hpp:226
@ R_xmm0
Definition intel.hpp:168
@ R_es
Definition intel.hpp:124
@ R_xmm20
Definition intel.hpp:212
@ R_xmm14
Definition intel.hpp:182
@ R_ymm5
Definition intel.hpp:191
@ R_xmm15
Definition intel.hpp:183
@ R_ymm12
Definition intel.hpp:198
@ R_of
Definition intel.hpp:134
@ R_mm3
Definition intel.hpp:162
@ R_xmm4
Definition intel.hpp:172
@ R_zmm27
Definition intel.hpp:269
@ R_di
Definition intel.hpp:98
@ R_k3
Definition intel.hpp:278
@ R_xmm11
Definition intel.hpp:179
@ R_zmm22
Definition intel.hpp:264
@ R_efl
Definition intel.hpp:142
@ R_st2
Definition intel.hpp:149
@ R_zmm23
Definition intel.hpp:265
@ R_zmm10
Definition intel.hpp:252
@ R_zmm6
Definition intel.hpp:248
@ R_xmm13
Definition intel.hpp:181
@ R_bh
Definition intel.hpp:115
@ R_zmm2
Definition intel.hpp:244
@ R_sf
Definition intel.hpp:133
@ R_tf
Definition intel.hpp:138
@ R_zmm4
Definition intel.hpp:246
@ R_dl
Definition intel.hpp:110
@ R_zmm28
Definition intel.hpp:270
@ R_xmm24
Definition intel.hpp:216
@ R_zmm18
Definition intel.hpp:260
@ R_si
Definition intel.hpp:97
@ R_bl
Definition intel.hpp:111
@ R_none
Definition intel.hpp:90
@ R_xmm21
Definition intel.hpp:213
@ R_ymm29
Definition intel.hpp:238
@ R_mm0
Definition intel.hpp:159
@ R_zmm30
Definition intel.hpp:272
@ R_ymm26
Definition intel.hpp:235
@ R_r11
Definition intel.hpp:102
@ R_xmm26
Definition intel.hpp:218
@ R_dh
Definition intel.hpp:114
@ R_ymm9
Definition intel.hpp:195
@ R_sil
Definition intel.hpp:119
@ R_k7
Definition intel.hpp:282
@ R_r8
Definition intel.hpp:99
@ R_zmm8
Definition intel.hpp:250
@ R_xmm30
Definition intel.hpp:222
@ R_k2
Definition intel.hpp:277
@ R_xmm22
Definition intel.hpp:214
@ R_xmm9
Definition intel.hpp:177
@ R_ymm21
Definition intel.hpp:230
@ R_mm7
Definition intel.hpp:166
@ R_zf
Definition intel.hpp:132
@ R_r14
Definition intel.hpp:105
@ R_ymm22
Definition intel.hpp:231
@ R_bnd0
Definition intel.hpp:203
@ R_zmm9
Definition intel.hpp:251
@ R_xmm1
Definition intel.hpp:169
@ R_xmm17
Definition intel.hpp:209
@ R_ymm6
Definition intel.hpp:192
@ R_zmm14
Definition intel.hpp:256
@ R_pf
Definition intel.hpp:136
@ R_zmm15
Definition intel.hpp:257
@ R_st1
Definition intel.hpp:148
@ R_st4
Definition intel.hpp:151
@ R_zmm12
Definition intel.hpp:254
@ R_xmm18
Definition intel.hpp:210
@ R_fptags
Definition intel.hpp:157
@ R_st5
Definition intel.hpp:152
@ R_cx
Definition intel.hpp:92
@ R_df
Definition intel.hpp:140
@ R_mxcsr
Definition intel.hpp:184
@ R_ymm2
Definition intel.hpp:188
@ R_mm2
Definition intel.hpp:161
@ R_cs
Definition intel.hpp:125
@ R_bnd2
Definition intel.hpp:205
bool is_vsib(const insn_t &insn)
Definition intel.hpp:458
bool xopexpr(const insn_t &insn)
Definition intel.hpp:390
const char handler_tag
Definition intel.hpp:750
int x86_base_reg(const insn_t &insn, const op_t &x)
Definition intel.hpp:609
op_dtype_t operand_dtype(const insn_t &insn)
Definition intel.hpp:721
bool isp4(uint32 type)
Definition intel.hpp:1227
const int INDEX_NONE
Definition intel.hpp:644
int sib_scale(const op_t &x)
Definition intel.hpp:593
const char vxd_tag2
Definition intel.hpp:752
int cvt_to_wholereg(int _reg, bool allow_high_byte_regs)
short regnum_t
Definition intel.hpp:86
const int REX_X
Definition intel.hpp:82
bool is_push_edx(uchar b)
Definition intel.hpp:785
bool op512(const insn_t &insn)
Definition intel.hpp:453
bool is486(uint32 type)
Definition intel.hpp:1234
bool is_io_insn(const insn_t &insn)
Definition intel.hpp:726
bool isProtected(uint32 type)
Definition intel.hpp:1215
bool is_push_ecx(uchar b)
Definition intel.hpp:775
bool is386(uint32 type)
Definition intel.hpp:1235
const int EVEX_z
Definition intel.hpp:75
const int EVEX_V
Definition intel.hpp:77
bool op32(const insn_t &insn)
Definition intel.hpp:425
bool ad16(const insn_t &insn)
Definition intel.hpp:392
int x86_base(const insn_t &insn, const op_t &x)
Definition intel.hpp:602
bool mem_as_displ(const insn_t &insn, const op_t &x)
Definition intel.hpp:701
bool is_xmmreg(int r)
Definition intel.hpp:292
int pc_shadow_area_size(callcnv_t cc)
Definition intel.hpp:915
const int VEX_L
Definition intel.hpp:84
spec_func_type_t
Definition intel.hpp:883
@ SF_ALLOCA
Definition intel.hpp:888
@ SF_NONE
Definition intel.hpp:884
@ SF_CHK
Definition intel.hpp:889
@ SF_EH_PROLOG
Definition intel.hpp:885
@ SF_SEH_PROLOG
Definition intel.hpp:886
@ SF_SEH_EPILOG
Definition intel.hpp:887
@ SF_LSTRCATN
Definition intel.hpp:892
@ SF_EH_EPILOG
Definition intel.hpp:891
@ SF_SYSINIT
Definition intel.hpp:890
bool should_af_showrip(void)
Definition intel.hpp:1144
bool is_fpureg(int r)
Definition intel.hpp:290
bool should_af_fexp(void)
Definition intel.hpp:1139
bool natad(const insn_t &insn)
Definition intel.hpp:386
bool natop(const insn_t &insn)
Definition intel.hpp:387
bool ismmx(uint32 type)
Definition intel.hpp:1230
const char is_ptr_tag
Definition intel.hpp:748
bool should_af_difbase(void)
Definition intel.hpp:1140
bool is_mingw_abi(void)
Definition intel.hpp:895
void del_ret_target(ea_t ea)
Definition intel.hpp:1153
const char vxd_tag1
Definition intel.hpp:751
regnum_t sib_index(const insn_t &insn, const op_t &x)
Definition intel.hpp:577
bool op256(const insn_t &insn)
Definition intel.hpp:445
const int REX_B
Definition intel.hpp:83
int calc_dbg_reg_index(const char *name)
bool should_af_urtti(void)
Definition intel.hpp:1138
bool isp3(uint32 type)
Definition intel.hpp:1228
bool is_push_eax(uchar b)
Definition intel.hpp:780
bool is3dnow(uint32 type)
Definition intel.hpp:1229
bool get_ret_target(ea_t ea, ea_t *target)
Definition intel.hpp:1151
const char callee_tag
Definition intel.hpp:742
bool mode16(const insn_t &insn)
Definition intel.hpp:383
const char ret_tag
Definition intel.hpp:746
bool should_af_int3stop(void)
Definition intel.hpp:1146
bool ad64(const insn_t &insn)
Definition intel.hpp:406
bool insn_default_opsize_64(const insn_t &insn)
Definition intel.hpp:340
bool has_tls_segpref(const insn_t &insn)
Definition intel.hpp:692
bool vexpr(const insn_t &insn)
Definition intel.hpp:388
bool ad32(const insn_t &insn)
Definition intel.hpp:398
const char fbase_tag
Definition intel.hpp:743
const int EVEX_L
Definition intel.hpp:74
bool should_af_fpemu(void)
Definition intel.hpp:1143
const char pushinfo_tag
Definition intel.hpp:747
const int EVEX_b
Definition intel.hpp:76
const char finally_tag
Definition intel.hpp:749
bool is586(uint32 type)
Definition intel.hpp:1233
bool should_af_zeroins(void)
Definition intel.hpp:1136
bool is_push_ebx(uchar b)
Definition intel.hpp:790
bool should_af_movoff2(void)
Definition intel.hpp:1135
bool op16(const insn_t &insn)
Definition intel.hpp:417
bool is286(uint32 type)
Definition intel.hpp:1236
bool is_stack_ref(const insn_t &insn, const op_t &x, int breg)
bool is686(uint32 type)
Definition intel.hpp:1232
bool should_af_seh(void)
Definition intel.hpp:1145
bool is_msabi()
Definition intel.hpp:904
bool should_af_movoff(void)
Definition intel.hpp:1134
bool op64(const insn_t &insn)
Definition intel.hpp:433
bool mode64(const insn_t &insn)
Definition intel.hpp:385
int x86_scale(const op_t &x)
Definition intel.hpp:680
regnum_t vsib_index_fixreg(const insn_t &insn, regnum_t index)
Definition intel.hpp:502
const int REX_W
Definition intel.hpp:80
const char frame_tag
Definition intel.hpp:744
int x86_index_reg(const insn_t &insn, const op_t &x)
Definition intel.hpp:651
int sib_base(const insn_t &insn, const op_t &x)
Definition intel.hpp:565
char * answer
Definition kernwin.hpp:8023
uchar type_t
In serialized form, a type is represented by a byte sequence.
Definition nalt.hpp:1317
int is_get_pc_thunk(RegNo *p_reg, ea_t *p_end, const insn_t &insn)
Definition intel.hpp:1039
bool borland_template(ea_t ea, bool bp_mode, bool recursive)
Definition intel.hpp:1059
void del_ret_target(ea_t ea)
Definition intel.hpp:1091
bool verify_epilog(int *answer, pushinfo_t *pi, const insn_t &insn)
Definition intel.hpp:1029
void set_ret_target(ea_t ea, ea_t target)
Definition intel.hpp:1086
bool dbgtools_path(char *path, size_t path_size)
Definition intel.hpp:1034
bool get_ret_target(ea_t ea, ea_t *target)
Definition intel.hpp:1081
processor_t::event_t idp_ev(event_codes_t ev)
Definition intel.hpp:1004
int prolog_analyzed(ea_t first_past_prolog_insn, pushinfo_t *pi)
Definition intel.hpp:1024
ea_t get_segval(const insn_t &insn, const op_t &x)
Definition intel.hpp:1067
bool get_borland_template_node(netnode *node)
Definition intel.hpp:1049
bool save_pushinfo(ea_t func_start, pushinfo_t *pi)
Definition intel.hpp:1019
bool restore_pushinfo(pushinfo_t *pi, ea_t func_start)
Definition intel.hpp:1014
void clear_borland_template_node(void)
Definition intel.hpp:1054
int vxd_loaded()
Definition intel.hpp:1044
void set_difbase(int onoff)
Definition intel.hpp:1009
event_codes_t
Definition intel.hpp:937
@ ev_set_ret_target
Definition intel.hpp:999
@ ev_borland_template
Definition intel.hpp:981
@ ev_restore_pushinfo
Definition intel.hpp:942
@ ev_verify_epilog
Definition intel.hpp:956
@ ev_get_borland_template_node
Definition intel.hpp:976
@ obsolete_ev_find_reg_value
Definition intel.hpp:963
@ ev_prolog_analyzed
Definition intel.hpp:950
@ ev_set_difbase
Definition intel.hpp:938
@ ev_save_pushinfo
Definition intel.hpp:946
@ ev_del_ret_target
Definition intel.hpp:1001
@ ev_vxd_loaded
Definition intel.hpp:974
@ ev_clear_borland_template_node
Definition intel.hpp:979
@ ev_dbgtools_path
Definition intel.hpp:964
@ ev_is_get_pc_thunk
Definition intel.hpp:968
@ ev_get_idpflags
Definition intel.hpp:991
@ ev_get_segval
Definition intel.hpp:986
@ ev_get_ret_target
Definition intel.hpp:994
uint32 get_idpflags()
Definition intel.hpp:1074
unsigned short uint16
unsigned 16 bit value
Definition pro.h:346
unsigned int uint32
unsigned 32 bit value
Definition pro.h:348
uint8 op_dtype_t
Definition pro.h:460
adiff_t sval_t
signed value used by the processor.
Definition pro.h:446
short int16
signed 16 bit value
Definition pro.h:345
uint64 ea_t
Definition pro.h:421
unsigned char uchar
unsigned 8 bit value
Definition pro.h:337
qvector< ea_t > eavec_t
vector of addresses
Definition pro.h:2764
ptrdiff_t ssize_t
Signed size_t - used to check for size overflows when the counter becomes negative.
Definition pro.h:381
unsigned short ushort
unsigned 16 bit value
Definition pro.h:338
_qstring< char > qstring
regular string
Definition pro.h:3694
ea_t minea
Definition intel.hpp:761
ea_t value
Definition intel.hpp:760
int16 reg
Definition intel.hpp:762
const type_t * type
Definition intel.hpp:927
const type_t * fields
Definition intel.hpp:928
tinfo_t tif
Definition intel.hpp:929
const char * name
Definition intel.hpp:926
event_t
Callback notification codes.
Definition idp.hpp:696
@ ev_loader
This code and higher ones are reserved for the loaders.
Definition idp.hpp:1758
static ssize_t notify(event_t event_code,...)
Definition idp.hpp:1766
@ PUSHINFO_VERSION
Definition intel.hpp:823
int xmm_nsaved
Definition intel.hpp:874
ea_t eh_info
Definition intel.hpp:867
qvector< eavec_t > pop_info_t
Definition intel.hpp:840
eavec_t prolog_insns
Definition intel.hpp:837
int cb
Definition intel.hpp:877
ssize_t bpidx
Definition intel.hpp:834
sval_t reg_stkoff
Definition intel.hpp:871
int reg_nsaved
Definition intel.hpp:875
pushinfo_t(void)
Definition intel.hpp:879
pop_info_t pops
Definition intel.hpp:841
int seh_ver()
Definition intel.hpp:854
int flags
Definition intel.hpp:824
sval_t xmm_stkoff
Definition intel.hpp:870
int eh_type
Definition intel.hpp:849
qvector< pushreg_t > psi
Definition intel.hpp:833
int eh_ver()
Definition intel.hpp:860
uint32 spoiled
Definition intel.hpp:835
sval_t off
Definition intel.hpp:811
sval_t width
Definition intel.hpp:812
regnum_t reg
Definition intel.hpp:813
ea_t ea
Definition intel.hpp:810
uint16 flags
Definition intel.hpp:814
Structure to hold a register value.
Definition idd.hpp:563
Functions that deal with the disassembling of program instructions.