12#ifndef __PC_PRIVATE_BUILD
21#define aux_lock 0x00000001
22#define aux_rep 0x00000002
23#define aux_repne 0x00000004
24#define aux_use32 0x00000008
25#define aux_use64 0x00000010
26#define aux_large 0x00000020
27#define aux_short 0x00000040
28#define aux_sgpref 0x00000080
29#define aux_oppref 0x00000100
30#define aux_adpref 0x00000200
31#define aux_basess 0x00000400
32#define aux_natop 0x00000800
33#define aux_natad 0x00001000
34#define aux_fpemu 0x00002000
35#define aux_vexpr 0x00004000
36#define aux_bnd 0x00008000
37#define aux_evex 0x00010000
38#define aux_xop 0x00020000
39#define aux_xacquire 0x00040000
40#define aux_xrelease 0x00080000
41#define aux_hint_nop 0x00100000
45#define o_trreg o_idpspec0
46#define o_dbreg o_idpspec1
47#define o_crreg o_idpspec2
48#define o_fpreg o_idpspec3
49#define o_mmxreg o_idpspec4
50#define o_xmmreg o_idpspec5
51#define o_ymmreg o_idpspec5+1
52#define o_zmmreg o_idpspec5+2
53#define o_kreg o_idpspec5+3
60#define segrg specval_shorts.high
61#define SEGREG_IMM 0xFFFF
64#define segsel specval_shorts.low
65#define hasSIB specflag1
71#define evex_flags Op6.specflag2
73#define cr_suff specflag1
305 switch ( insn.itype )
347 switch ( insn.itype )
386inline bool mode16(
const insn_t &insn) {
return (insn.auxpref & (aux_use32|aux_use64)) == 0; }
387inline bool mode32(
const insn_t &insn) {
return (insn.auxpref & aux_use32) != 0; }
388inline bool mode64(
const insn_t &insn) {
return (insn.auxpref & aux_use64) != 0; }
389inline bool natad(
const insn_t &insn) {
return (insn.auxpref & aux_natad) != 0; }
390inline bool natop(
const insn_t &insn) {
return (insn.auxpref & aux_natop) != 0; }
391inline bool vexpr(
const insn_t &insn) {
return (insn.auxpref & aux_vexpr) != 0; }
392inline bool evexpr(
const insn_t &insn) {
return (insn.auxpref & aux_evex) != 0; }
393inline bool xopexpr(
const insn_t &insn) {
return (insn.auxpref & aux_xop) != 0; }
395inline bool ad16(
const insn_t &insn)
397 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
398 return p == aux_natad || p == aux_use32;
401inline bool ad32(
const insn_t &insn)
403 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
404 return p == (aux_natad|aux_use32)
409inline bool ad64(
const insn_t &insn)
412 int p = insn.auxpref & (aux_use32|aux_use64|aux_natad);
413 return p == (aux_natad|aux_use64);
420inline bool op16(
const insn_t &insn)
422 int p = insn.auxpref & (aux_use32|aux_use64|aux_natop);
423 return p == aux_natop
425 || p == aux_use64 && (insn.rex &
REX_W) == 0;
428inline bool op32(
const insn_t &insn)
430 int p = insn.auxpref & (aux_use32|aux_use64|aux_natop);
432 || p == (aux_use32|aux_natop)
433 || p == (aux_use64|aux_natop) && (insn.rex &
REX_W) == 0;
436inline bool op64(
const insn_t &insn)
440 && ((insn.rex &
REX_W) != 0
448inline bool op256(
const insn_t &insn)
450 return (insn.rex &
VEX_L) != 0
456inline bool op512(
const insn_t &insn)
458 return evexpr(insn) && (insn.rex &
VEX_L) == 0 && (insn.evex_flags &
EVEX_L) != 0;
463 switch ( insn.itype )
507 switch ( insn.itype )
570 int base = x.sib & 7;
589 if ( (insn.evex_flags &
EVEX_V) != 0 )
598 int scale = (x.sib >> 6) & 3;
620 else if ( !
ad16(insn) )
697 if ( insn.segpref == 0 )
720 return char(
ad64(insn) ? dt_qword :
ad32(insn) ? dt_dword : dt_word);
726 return char(
op64(insn) ? dt_qword :
op32(insn) ? dt_dword :
op16(insn) ? dt_word : dt_byte);
731 return insn.itype ==
NN_ins
734 || insn.itype ==
NN_in;
738#define PROCMOD_NAME pc
739#define PROCMOD_NODE_NAME "$ vmm functions"
740#define IDPFLAGS_NODE_NAME "$ idpflags"
741#define EXC_NODE_NAME "$ ExceptionInfo $"
742#define BP_NODE_NAME "$ Bdsc $"
743#define WRONG_DECISIONS_NODE_NAME "$ handled wrong decisions"
773 return insn.itype ==
NN_lea
818#define PRF_NONE 0x0000
819#define PRF_MOVE 0x0001
820#define PRF_SPILL 0x0002
821#define PRF_MASK (PRF_MOVE | PRF_SPILL)
828#define PINF_SEHCALL 0x0001
829#define PINF_SEHMAN 0x0002
830#define PINF_COOKIE 0x0004
831#define PINF_ALIGNED 0x0008
832#define PINF_VARARG 0x0010
833#define PINF_BPOFF 0x0020
834#define PINF_HAVE_SSIZE 0x0040
835#define PINF_PSI_FLAGS 0x0080
859 if ( (
eh_type & 0xFFFF) == EH_VCSEH )
860 return (
eh_type >> 16) & 0xFFFF;
865 if ( (
eh_type & 0xFFFF) == EH_VCCPPEH )
866 return (
eh_type >> 16) & 0xFFFF;
905 return abiname ==
"mingw";
1103#define AFIDP_PUSH 0x0001
1104#define AFIDP_NOP 0x0002
1106#define AFIDP_MOVOFF 0x0004
1109#define AFIDP_MOVOFF2 0x0008
1112#define AFIDP_ZEROINS 0x0010
1117#define AFIDP_BRTTI 0x0020
1118#define AFIDP_UNKRTTI 0x0040
1119#define AFIDP_EXPFUNC 0x0080
1121#define AFIDP_DIFBASE 0x0100
1122#define AFIDP_NOPREF 0x0200
1123#define AFIDP_NOVXD 0x0400
1124#define AFIDP_NOFPEMU 0x0800
1125#define AFIDP_SHOWRIP 0x1000
1126#define AFIDP_NOSEH 0x2000
1127#define AFIDP_INT3STOP 0x4000
1130#define AFIDP_NOAGGRJMPS 0x8000
1132#define AFIDP_NO_USE_ANY_IND_OP 0x10000
1161#define _PT_486p 0x00000001
1162#define _PT_486r 0x00000002
1163#define _PT_386p 0x00000004
1164#define _PT_386r 0x00000008
1165#define _PT_286p 0x00000010
1166#define _PT_286r 0x00000020
1167#define _PT_086 0x00000040
1168#define _PT_586p 0x00000080
1169#define _PT_586r 0x00000100
1170#define _PT_686r 0x00000200
1171#define _PT_686p 0x00000400
1172#define _PT_mmx 0x00000800
1173#define _PT_pii 0x00001000
1174#define _PT_3d 0x00002000
1175#define _PT_piii 0x00004000
1176#define _PT_k7 0x00008000
1177#define _PT_p4 0x00010000
1178#define _PT_sse3 0x00020000
1179#define _PT_sse4 0x00040000
1180#define _PT_padlock 0x00080000
1186#define PT_sse4 _PT_sse4
1187#define PT_sse3 (_PT_sse3 | _PT_sse4 )
1188#define PT_p4 ( PT_sse3 | _PT_p4 )
1189#define PT_k7 ( PT_p4 | _PT_k7 )
1190#define PT_piii ( PT_k7 | _PT_piii )
1191#define PT_k62 ( PT_piii | _PT_3d )
1193#define PT_pii ( PT_piii | _PT_pii )
1194#define PT_mmx (_PT_mmx | _PT_3d )
1195#define PT_686p ( PT_pii | _PT_686p )
1196#define PT_686r ( PT_686p | _PT_686r )
1197#define PT_586p ( PT_686r | _PT_586p )
1198#define PT_586r ( PT_586p | _PT_586r )
1199#define PT_padlock _PT_padlock
1200#define PT_486p ( PT_586r | _PT_486p )
1201#define PT_486r ( PT_486p | _PT_486r )
1202#define PT_386p ( PT_486r | _PT_386p )
1203#define PT_386r ( PT_386p | _PT_386r )
1204#define PT_286p ( PT_386r | _PT_286p )
1205#define PT_286r ( PT_286p | _PT_286r )
1206#define PT_086 ( PT_286r | _PT_086 )
1212#define PT_ismmx (_PT_mmx )
1213#define PT_is686 (_PT_686r | _PT_686p)
1214#define PT_is586 (_PT_586r | _PT_586p)
1215#define PT_is486 (_PT_486r | _PT_486p)
1216#define PT_is386 (_PT_386r | _PT_386p)
1217#define PT_is286 (_PT_286r | _PT_286p)
1218#define PT_is086 (_PT_086)
@ NN_jnc
Definition allins.hpp:79
@ NN_jnb
Definition allins.hpp:77
@ NN_vscatterdps
Definition allins.hpp:1593
@ NN_loopq
Definition allins.hpp:120
@ NN_vpgatherqd
Definition allins.hpp:1060
@ NN_jmp
Definition allins.hpp:95
@ NN_enterq
Definition allins.hpp:48
@ NN_pushfq
Definition allins.hpp:160
@ NN_vscatterpf1qps
Definition allins.hpp:1620
@ NN_jnae
Definition allins.hpp:76
@ NN_vscatterpf1qpd
Definition allins.hpp:1622
@ NN_jno
Definition allins.hpp:85
@ NN_retf
Definition allins.hpp:169
@ NN_vpscatterdq
Definition allins.hpp:1545
@ NN_leaveq
Definition allins.hpp:105
@ NN_jecxz
Definition allins.hpp:68
@ NN_jnbe
Definition allins.hpp:78
@ NN_jmpni
Definition allins.hpp:97
@ NN_pop
Definition allins.hpp:143
@ NN_jc
Definition allins.hpp:66
@ NN_jbe
Definition allins.hpp:65
@ NN_vgatherqps
Definition allins.hpp:952
@ NN_jne
Definition allins.hpp:80
@ NN_jnz
Definition allins.hpp:88
@ NN_jz
Definition allins.hpp:94
@ NN_out
Definition allins.hpp:141
@ NN_jae
Definition allins.hpp:63
@ NN_callfi
Definition allins.hpp:26
@ NN_jng
Definition allins.hpp:81
@ NN_jb
Definition allins.hpp:64
@ NN_call
Definition allins.hpp:25
@ NN_vpgatherqq
Definition allins.hpp:1061
@ NN_vgatherpf1qpd
Definition allins.hpp:1614
@ NN_vgatherpf0qpd
Definition allins.hpp:1610
@ NN_jge
Definition allins.hpp:72
@ NN_jo
Definition allins.hpp:89
@ NN_vpscatterqq
Definition allins.hpp:1547
@ NN_pushf
Definition allins.hpp:158
@ NN_jns
Definition allins.hpp:87
@ NN_loope
Definition allins.hpp:122
@ NN_jp
Definition allins.hpp:90
@ NN_jpo
Definition allins.hpp:92
@ NN_vscatterdpd
Definition allins.hpp:1594
@ NN_vscatterpf1dpd
Definition allins.hpp:1621
@ NN_loop
Definition allins.hpp:118
@ NN_in
Definition allins.hpp:52
@ NN_retn
Definition allins.hpp:168
@ NN_vscatterpf0dps
Definition allins.hpp:1615
@ NN_leave
Definition allins.hpp:103
@ NN_enter
Definition allins.hpp:46
@ NN_jna
Definition allins.hpp:75
@ NN_vscatterpf0qpd
Definition allins.hpp:1618
@ NN_vgatherdps
Definition allins.hpp:950
@ NN_retfq
Definition allins.hpp:803
@ NN_jpe
Definition allins.hpp:91
@ NN_popf
Definition allins.hpp:149
@ NN_jcxz
Definition allins.hpp:67
@ NN_vpscatterqd
Definition allins.hpp:1546
@ NN_ins
Definition allins.hpp:54
@ NN_jnle
Definition allins.hpp:84
@ NN_loopqne
Definition allins.hpp:128
@ NN_vscatterpf1dps
Definition allins.hpp:1619
@ NN_jnp
Definition allins.hpp:86
@ NN_loopne
Definition allins.hpp:126
@ NN_vscatterqpd
Definition allins.hpp:1596
@ NN_vscatterpf0qps
Definition allins.hpp:1616
@ NN_ja
Definition allins.hpp:62
@ NN_vgatherqpd
Definition allins.hpp:953
@ NN_vpscatterdd
Definition allins.hpp:1544
@ NN_lea
Definition allins.hpp:101
@ NN_outs
Definition allins.hpp:142
@ NN_vgatherpf0qps
Definition allins.hpp:1608
@ NN_jnge
Definition allins.hpp:82
@ NN_jl
Definition allins.hpp:73
@ NN_vgatherpf1dps
Definition allins.hpp:1611
@ NN_vscatterqps
Definition allins.hpp:1595
@ NN_vgatherdpd
Definition allins.hpp:951
@ NN_loopqe
Definition allins.hpp:124
@ NN_jmpshort
Definition allins.hpp:98
@ NN_jnl
Definition allins.hpp:83
@ NN_vscatterpf0dpd
Definition allins.hpp:1617
@ NN_js
Definition allins.hpp:93
@ NN_je
Definition allins.hpp:70
@ NN_callni
Definition allins.hpp:27
@ NN_vpgatherdq
Definition allins.hpp:1059
@ NN_vgatherpf0dpd
Definition allins.hpp:1609
@ NN_vgatherpf1dpd
Definition allins.hpp:1613
@ NN_jle
Definition allins.hpp:74
@ NN_popfq
Definition allins.hpp:151
@ NN_vpgatherdd
Definition allins.hpp:1058
@ NN_jrcxz
Definition allins.hpp:69
@ NN_vgatherpf1qps
Definition allins.hpp:1612
@ NN_vgatherpf0dps
Definition allins.hpp:1607
@ NN_retnq
Definition allins.hpp:800
@ NN_push
Definition allins.hpp:152
@ NN_jg
Definition allins.hpp:71
flags64_t idaapi get_flags(ea_t ea)
Get flags value for address 'ea'.
Definition bytes.hpp:282
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:2262
Primary mechanism for managing type information.
Definition typeinf.hpp:3077
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:1928
const callcnv_t CM_CC_STDCALL
stack, purged
Definition typeinf.hpp:888
const comp_t COMP_UNK
Unknown.
Definition typeinf.hpp:1881
const comp_t COMP_MS
Visual C++.
Definition typeinf.hpp:1882
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:7698
filetype_t inf_get_filetype()
Definition ida.hpp:694
@ f_PE
Portable Executable (PE)
Definition ida.hpp:48
uint32 callcnv_t
Definition ida.hpp:75
bool inf_is_64bit(void)
Definition ida.hpp:638
uchar comp_t
target compiler id
Definition ida.hpp:73
const int REX_R
Definition intel.hpp:84
bool should_af_use_any_ind_op(void)
Definition intel.hpp:1152
bool is_segreg(int r)
Definition intel.hpp:292
bool should_af_aggrjmps(void)
Definition intel.hpp:1151
int x86_index(const insn_t &insn, const op_t &x)
Definition intel.hpp:649
bool isAMD(uint32 type)
Definition intel.hpp:1232
CASSERT(PROC_MAXOP<=UA_MAXOP)
const regval_t &idaapi getreg_t(const char *name, const regval_t *regvalues)
Definition intel.hpp:925
bool insn_jcc(const insn_t &insn)
Definition intel.hpp:303
bool is_volatile_reg(int r)
Definition intel.hpp:798
bool should_af_push(void)
Definition intel.hpp:1136
bool is_ymmreg(int r)
Definition intel.hpp:296
bool should_af_vxd(void)
Definition intel.hpp:1146
void set_ret_target(ea_t ea, ea_t target)
Definition intel.hpp:1156
bool should_af_brtti(void)
Definition intel.hpp:1141
op_dtype_t address_dtype(const insn_t &insn)
Definition intel.hpp:718
const char maybe_switch_tag
Definition intel.hpp:756
bool isp2(uint32 type)
Definition intel.hpp:1237
bool mode32(const insn_t &insn)
Definition intel.hpp:387
bool is_mmxreg(int r)
Definition intel.hpp:294
bool evexpr(const insn_t &insn)
Definition intel.hpp:392
int has_displ(const op_t &x)
Definition intel.hpp:689
bool is_arith_lea(const insn_t &insn, const op_t &x)
Definition intel.hpp:771
bool should_af_nopref(void)
Definition intel.hpp:1145
const char purge_tag
Definition intel.hpp:748
const int EVEX_R
Definition intel.hpp:76
bool should_af_nop(void)
Definition intel.hpp:1137
RegNo
Definition intel.hpp:92
@ R_ymm28
Definition intel.hpp:240
@ R_ymm19
Definition intel.hpp:231
@ R_zmm29
Definition intel.hpp:274
@ R_xmm6
Definition intel.hpp:177
@ R_xmm31
Definition intel.hpp:226
@ R_xmm19
Definition intel.hpp:214
@ R_mm4
Definition intel.hpp:166
@ R_if
Definition intel.hpp:142
@ R_xmm16
Definition intel.hpp:211
@ R_fpstat
Definition intel.hpp:159
@ R_xmm25
Definition intel.hpp:220
@ R_mm6
Definition intel.hpp:168
@ R_ss
Definition intel.hpp:129
@ R_last
Definition intel.hpp:287
@ R_ymm31
Definition intel.hpp:243
@ R_st3
Definition intel.hpp:153
@ R_zmm0
Definition intel.hpp:245
@ R_bp
Definition intel.hpp:99
@ R_bnd3
Definition intel.hpp:209
@ R_fs
Definition intel.hpp:131
@ R_zmm17
Definition intel.hpp:262
@ R_xmm2
Definition intel.hpp:173
@ R_xmm29
Definition intel.hpp:224
@ R_ymm15
Definition intel.hpp:204
@ R_bnd1
Definition intel.hpp:207
@ R_xmm28
Definition intel.hpp:223
@ R_ymm25
Definition intel.hpp:237
@ R_gs
Definition intel.hpp:132
@ R_bx
Definition intel.hpp:97
@ R_r9
Definition intel.hpp:103
@ R_bpl
Definition intel.hpp:121
@ R_ymm0
Definition intel.hpp:189
@ R_k1
Definition intel.hpp:279
@ R_r13
Definition intel.hpp:107
@ R_dx
Definition intel.hpp:96
@ R_k0
Definition intel.hpp:278
@ R_zmm5
Definition intel.hpp:250
@ R_mm1
Definition intel.hpp:163
@ R_ymm14
Definition intel.hpp:203
@ R_sp
Definition intel.hpp:98
@ R_ymm3
Definition intel.hpp:192
@ R_cl
Definition intel.hpp:112
@ R_zmm21
Definition intel.hpp:266
@ R_st6
Definition intel.hpp:156
@ R_xmm23
Definition intel.hpp:218
@ R_ymm16
Definition intel.hpp:228
@ R_ymm10
Definition intel.hpp:199
@ R_ymm7
Definition intel.hpp:196
@ R_ymm18
Definition intel.hpp:230
@ R_xmm27
Definition intel.hpp:222
@ R_ip
Definition intel.hpp:125
@ R_k4
Definition intel.hpp:282
@ R_fpctrl
Definition intel.hpp:158
@ R_xmm7
Definition intel.hpp:178
@ R_zmm1
Definition intel.hpp:246
@ R_ymm20
Definition intel.hpp:232
@ R_zmm26
Definition intel.hpp:271
@ R_zmm20
Definition intel.hpp:265
@ R_ds
Definition intel.hpp:130
@ R_ymm13
Definition intel.hpp:202
@ R_xmm12
Definition intel.hpp:183
@ R_af
Definition intel.hpp:140
@ R_zmm11
Definition intel.hpp:256
@ R_zmm13
Definition intel.hpp:258
@ R_ymm23
Definition intel.hpp:235
@ R_r12
Definition intel.hpp:106
@ R_ch
Definition intel.hpp:116
@ R_zmm16
Definition intel.hpp:261
@ R_ax
Definition intel.hpp:94
@ R_ymm11
Definition intel.hpp:200
@ R_r15
Definition intel.hpp:109
@ R_mm5
Definition intel.hpp:167
@ R_ah
Definition intel.hpp:115
@ R_xmm3
Definition intel.hpp:174
@ R_k5
Definition intel.hpp:283
@ R_al
Definition intel.hpp:111
@ R_ymm27
Definition intel.hpp:239
@ R_dil
Definition intel.hpp:123
@ R_zmm24
Definition intel.hpp:269
@ R_ymm4
Definition intel.hpp:193
@ R_xmm5
Definition intel.hpp:176
@ R_ymm8
Definition intel.hpp:197
@ R_cf
Definition intel.hpp:134
@ R_ymm24
Definition intel.hpp:236
@ R_xmm8
Definition intel.hpp:179
@ R_zmm19
Definition intel.hpp:264
@ R_r10
Definition intel.hpp:104
@ R_zmm7
Definition intel.hpp:252
@ R_zmm25
Definition intel.hpp:270
@ R_spl
Definition intel.hpp:120
@ R_st0
Definition intel.hpp:150
@ R_ymm30
Definition intel.hpp:242
@ R_ymm1
Definition intel.hpp:190
@ R_xmm10
Definition intel.hpp:181
@ R_st7
Definition intel.hpp:157
@ R_zmm3
Definition intel.hpp:248
@ R_k6
Definition intel.hpp:284
@ R_zmm31
Definition intel.hpp:276
@ R_ymm17
Definition intel.hpp:229
@ R_xmm0
Definition intel.hpp:171
@ R_es
Definition intel.hpp:127
@ R_xmm20
Definition intel.hpp:215
@ R_xmm14
Definition intel.hpp:185
@ R_ymm5
Definition intel.hpp:194
@ R_xmm15
Definition intel.hpp:186
@ R_ymm12
Definition intel.hpp:201
@ R_of
Definition intel.hpp:137
@ R_mm3
Definition intel.hpp:165
@ R_xmm4
Definition intel.hpp:175
@ R_zmm27
Definition intel.hpp:272
@ R_di
Definition intel.hpp:101
@ R_k3
Definition intel.hpp:281
@ R_xmm11
Definition intel.hpp:182
@ R_zmm22
Definition intel.hpp:267
@ R_efl
Definition intel.hpp:145
@ R_st2
Definition intel.hpp:152
@ R_zmm23
Definition intel.hpp:268
@ R_zmm10
Definition intel.hpp:255
@ R_zmm6
Definition intel.hpp:251
@ R_xmm13
Definition intel.hpp:184
@ R_bh
Definition intel.hpp:118
@ R_zmm2
Definition intel.hpp:247
@ R_sf
Definition intel.hpp:136
@ R_tf
Definition intel.hpp:141
@ R_zmm4
Definition intel.hpp:249
@ R_dl
Definition intel.hpp:113
@ R_zmm28
Definition intel.hpp:273
@ R_xmm24
Definition intel.hpp:219
@ R_zmm18
Definition intel.hpp:263
@ R_si
Definition intel.hpp:100
@ R_bl
Definition intel.hpp:114
@ R_none
Definition intel.hpp:93
@ R_xmm21
Definition intel.hpp:216
@ R_ymm29
Definition intel.hpp:241
@ R_mm0
Definition intel.hpp:162
@ R_zmm30
Definition intel.hpp:275
@ R_ymm26
Definition intel.hpp:238
@ R_r11
Definition intel.hpp:105
@ R_xmm26
Definition intel.hpp:221
@ R_dh
Definition intel.hpp:117
@ R_ymm9
Definition intel.hpp:198
@ R_sil
Definition intel.hpp:122
@ R_k7
Definition intel.hpp:285
@ R_r8
Definition intel.hpp:102
@ R_zmm8
Definition intel.hpp:253
@ R_xmm30
Definition intel.hpp:225
@ R_k2
Definition intel.hpp:280
@ R_xmm22
Definition intel.hpp:217
@ R_xmm9
Definition intel.hpp:180
@ R_ymm21
Definition intel.hpp:233
@ R_mm7
Definition intel.hpp:169
@ R_zf
Definition intel.hpp:135
@ R_r14
Definition intel.hpp:108
@ R_ymm22
Definition intel.hpp:234
@ R_bnd0
Definition intel.hpp:206
@ R_zmm9
Definition intel.hpp:254
@ R_xmm1
Definition intel.hpp:172
@ R_xmm17
Definition intel.hpp:212
@ R_ymm6
Definition intel.hpp:195
@ R_zmm14
Definition intel.hpp:259
@ R_pf
Definition intel.hpp:139
@ R_zmm15
Definition intel.hpp:260
@ R_st1
Definition intel.hpp:151
@ R_st4
Definition intel.hpp:154
@ R_zmm12
Definition intel.hpp:257
@ R_xmm18
Definition intel.hpp:213
@ R_fptags
Definition intel.hpp:160
@ R_st5
Definition intel.hpp:155
@ R_cx
Definition intel.hpp:95
@ R_df
Definition intel.hpp:143
@ R_mxcsr
Definition intel.hpp:187
@ R_ymm2
Definition intel.hpp:191
@ R_mm2
Definition intel.hpp:164
@ R_cs
Definition intel.hpp:128
@ R_bnd2
Definition intel.hpp:208
bool is_vsib(const insn_t &insn)
Definition intel.hpp:461
bool xopexpr(const insn_t &insn)
Definition intel.hpp:393
const char handler_tag
Definition intel.hpp:753
int x86_base_reg(const insn_t &insn, const op_t &x)
Definition intel.hpp:612
op_dtype_t operand_dtype(const insn_t &insn)
Definition intel.hpp:724
bool isp4(uint32 type)
Definition intel.hpp:1233
const int INDEX_NONE
Definition intel.hpp:647
int sib_scale(const op_t &x)
Definition intel.hpp:596
const char vxd_tag2
Definition intel.hpp:755
int cvt_to_wholereg(int _reg, bool allow_high_byte_regs)
short regnum_t
Definition intel.hpp:89
const int REX_X
Definition intel.hpp:85
bool is_push_edx(uchar b)
Definition intel.hpp:788
bool op512(const insn_t &insn)
Definition intel.hpp:456
bool is486(uint32 type)
Definition intel.hpp:1240
bool is_io_insn(const insn_t &insn)
Definition intel.hpp:729
bool isProtected(uint32 type)
Definition intel.hpp:1221
bool is_push_ecx(uchar b)
Definition intel.hpp:778
bool is386(uint32 type)
Definition intel.hpp:1241
const int EVEX_z
Definition intel.hpp:78
const int EVEX_V
Definition intel.hpp:80
bool op32(const insn_t &insn)
Definition intel.hpp:428
bool ad16(const insn_t &insn)
Definition intel.hpp:395
int x86_base(const insn_t &insn, const op_t &x)
Definition intel.hpp:605
bool mem_as_displ(const insn_t &insn, const op_t &x)
Definition intel.hpp:704
bool is_xmmreg(int r)
Definition intel.hpp:295
int pc_shadow_area_size(callcnv_t cc)
Definition intel.hpp:919
const int VEX_L
Definition intel.hpp:87
spec_func_type_t
Definition intel.hpp:887
@ SF_ALLOCA
Definition intel.hpp:892
@ SF_NONE
Definition intel.hpp:888
@ SF_CHK
Definition intel.hpp:893
@ SF_EH_PROLOG
Definition intel.hpp:889
@ SF_SEH_PROLOG
Definition intel.hpp:890
@ SF_SEH_EPILOG
Definition intel.hpp:891
@ SF_LSTRCATN
Definition intel.hpp:896
@ SF_EH_EPILOG
Definition intel.hpp:895
@ SF_SYSINIT
Definition intel.hpp:894
bool should_af_showrip(void)
Definition intel.hpp:1148
bool is_fpureg(int r)
Definition intel.hpp:293
bool should_af_fexp(void)
Definition intel.hpp:1143
bool natad(const insn_t &insn)
Definition intel.hpp:389
bool natop(const insn_t &insn)
Definition intel.hpp:390
bool ismmx(uint32 type)
Definition intel.hpp:1236
const char is_ptr_tag
Definition intel.hpp:751
bool should_af_difbase(void)
Definition intel.hpp:1144
bool is_mingw_abi(void)
Definition intel.hpp:899
void del_ret_target(ea_t ea)
Definition intel.hpp:1157
const char vxd_tag1
Definition intel.hpp:754
regnum_t sib_index(const insn_t &insn, const op_t &x)
Definition intel.hpp:580
bool op256(const insn_t &insn)
Definition intel.hpp:448
const int REX_B
Definition intel.hpp:86
int calc_dbg_reg_index(const char *name)
bool should_af_urtti(void)
Definition intel.hpp:1142
bool isp3(uint32 type)
Definition intel.hpp:1234
bool is_push_eax(uchar b)
Definition intel.hpp:783
bool is3dnow(uint32 type)
Definition intel.hpp:1235
bool get_ret_target(ea_t ea, ea_t *target)
Definition intel.hpp:1155
const char callee_tag
Definition intel.hpp:745
bool mode16(const insn_t &insn)
Definition intel.hpp:386
const char ret_tag
Definition intel.hpp:749
bool should_af_int3stop(void)
Definition intel.hpp:1150
bool ad64(const insn_t &insn)
Definition intel.hpp:409
bool insn_default_opsize_64(const insn_t &insn)
Definition intel.hpp:343
bool has_tls_segpref(const insn_t &insn)
Definition intel.hpp:695
bool vexpr(const insn_t &insn)
Definition intel.hpp:391
bool ad32(const insn_t &insn)
Definition intel.hpp:401
const char fbase_tag
Definition intel.hpp:746
const int EVEX_L
Definition intel.hpp:77
bool should_af_fpemu(void)
Definition intel.hpp:1147
const char pushinfo_tag
Definition intel.hpp:750
const int EVEX_b
Definition intel.hpp:79
const char finally_tag
Definition intel.hpp:752
bool is586(uint32 type)
Definition intel.hpp:1239
bool should_af_zeroins(void)
Definition intel.hpp:1140
bool is_push_ebx(uchar b)
Definition intel.hpp:793
bool should_af_movoff2(void)
Definition intel.hpp:1139
bool op16(const insn_t &insn)
Definition intel.hpp:420
bool is286(uint32 type)
Definition intel.hpp:1242
bool is_stack_ref(const insn_t &insn, const op_t &x, int breg)
bool is686(uint32 type)
Definition intel.hpp:1238
bool should_af_seh(void)
Definition intel.hpp:1149
bool is_msabi()
Definition intel.hpp:908
bool should_af_movoff(void)
Definition intel.hpp:1138
bool op64(const insn_t &insn)
Definition intel.hpp:436
bool mode64(const insn_t &insn)
Definition intel.hpp:388
int x86_scale(const op_t &x)
Definition intel.hpp:683
regnum_t vsib_index_fixreg(const insn_t &insn, regnum_t index)
Definition intel.hpp:505
const int REX_W
Definition intel.hpp:83
const char frame_tag
Definition intel.hpp:747
int x86_index_reg(const insn_t &insn, const op_t &x)
Definition intel.hpp:654
int sib_base(const insn_t &insn, const op_t &x)
Definition intel.hpp:568
char * answer
Definition kernwin.hpp:8465
uchar type_t
In serialized form, a type is represented by a byte sequence.
Definition nalt.hpp:1312
int is_get_pc_thunk(RegNo *p_reg, ea_t *p_end, const insn_t &insn)
Definition intel.hpp:1043
bool borland_template(ea_t ea, bool bp_mode, bool recursive)
Definition intel.hpp:1063
void del_ret_target(ea_t ea)
Definition intel.hpp:1095
bool verify_epilog(int *answer, pushinfo_t *pi, const insn_t &insn)
Definition intel.hpp:1033
void set_ret_target(ea_t ea, ea_t target)
Definition intel.hpp:1090
bool dbgtools_path(char *path, size_t path_size)
Definition intel.hpp:1038
bool get_ret_target(ea_t ea, ea_t *target)
Definition intel.hpp:1085
processor_t::event_t idp_ev(event_codes_t ev)
Definition intel.hpp:1008
int prolog_analyzed(ea_t first_past_prolog_insn, pushinfo_t *pi)
Definition intel.hpp:1028
ea_t get_segval(const insn_t &insn, const op_t &x)
Definition intel.hpp:1071
bool get_borland_template_node(netnode *node)
Definition intel.hpp:1053
bool save_pushinfo(ea_t func_start, pushinfo_t *pi)
Definition intel.hpp:1023
bool restore_pushinfo(pushinfo_t *pi, ea_t func_start)
Definition intel.hpp:1018
void clear_borland_template_node(void)
Definition intel.hpp:1058
int vxd_loaded()
Definition intel.hpp:1048
void set_difbase(int onoff)
Definition intel.hpp:1013
event_codes_t
Definition intel.hpp:941
@ ev_set_ret_target
Definition intel.hpp:1003
@ ev_borland_template
Definition intel.hpp:985
@ ev_restore_pushinfo
Definition intel.hpp:946
@ ev_verify_epilog
Definition intel.hpp:960
@ ev_get_borland_template_node
Definition intel.hpp:980
@ obsolete_ev_find_reg_value
Definition intel.hpp:967
@ ev_prolog_analyzed
Definition intel.hpp:954
@ ev_set_difbase
Definition intel.hpp:942
@ ev_save_pushinfo
Definition intel.hpp:950
@ ev_del_ret_target
Definition intel.hpp:1005
@ ev_vxd_loaded
Definition intel.hpp:978
@ ev_clear_borland_template_node
Definition intel.hpp:983
@ ev_dbgtools_path
Definition intel.hpp:968
@ ev_is_get_pc_thunk
Definition intel.hpp:972
@ ev_get_idpflags
Definition intel.hpp:995
@ ev_get_segval
Definition intel.hpp:990
@ ev_get_ret_target
Definition intel.hpp:998
uint32 get_idpflags()
Definition intel.hpp:1078
unsigned short uint16
unsigned 16 bit value
Definition pro.h:350
unsigned int uint32
unsigned 32 bit value
Definition pro.h:352
uint8 op_dtype_t
Definition pro.h:464
adiff_t sval_t
signed value used by the processor.
Definition pro.h:450
short int16
signed 16 bit value
Definition pro.h:349
uint64 ea_t
Definition pro.h:425
unsigned char uchar
unsigned 8 bit value
Definition pro.h:341
qvector< ea_t > eavec_t
vector of addresses
Definition pro.h:2838
ptrdiff_t ssize_t
Signed size_t - used to check for size overflows when the counter becomes negative.
Definition pro.h:385
unsigned short ushort
unsigned 16 bit value
Definition pro.h:342
_qstring< char > qstring
regular string
Definition pro.h:3771
unsigned int
Definition pronet.h:99
ea_t minea
Definition intel.hpp:764
ea_t value
Definition intel.hpp:763
int16 reg
Definition intel.hpp:765
const type_t * type
Definition intel.hpp:931
const type_t * fields
Definition intel.hpp:932
tinfo_t tif
Definition intel.hpp:933
const char * name
Definition intel.hpp:930
event_t
Callback notification codes.
Definition idp.hpp:716
@ ev_loader
This code and higher ones are reserved for the loaders.
Definition idp.hpp:1919
static ssize_t notify(event_t event_code,...)
Definition idp.hpp:1927
@ PUSHINFO_VERSION
Definition intel.hpp:826
int xmm_nsaved
Definition intel.hpp:877
ea_t eh_info
Definition intel.hpp:870
qvector< eavec_t > pop_info_t
Definition intel.hpp:843
eavec_t prolog_insns
Definition intel.hpp:840
friend struct pushinfo_internal_t
Definition intel.hpp:883
int cb
Definition intel.hpp:880
ssize_t bpidx
Definition intel.hpp:837
sval_t reg_stkoff
Definition intel.hpp:874
int reg_nsaved
Definition intel.hpp:878
pushinfo_t(void)
Definition intel.hpp:882
pop_info_t pops
Definition intel.hpp:844
int seh_ver()
Definition intel.hpp:857
int flags
Definition intel.hpp:827
sval_t xmm_stkoff
Definition intel.hpp:873
int eh_type
Definition intel.hpp:852
qvector< pushreg_t > psi
Definition intel.hpp:836
int eh_ver()
Definition intel.hpp:863
uint32 spoiled
Definition intel.hpp:838
sval_t off
Definition intel.hpp:814
sval_t width
Definition intel.hpp:815
regnum_t reg
Definition intel.hpp:816
ea_t ea
Definition intel.hpp:813
uint16 flags
Definition intel.hpp:817
Structure to hold a register value.
Definition idd.hpp:563
Functions that deal with the disassembling of program instructions.