webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Typedefs | Enumerations | Variables
udis86_decode.h File Reference
#include "udis86_types.h"
#include "udis86_udint.h"
#include "udis86_itab.h"

Go to the source code of this file.

Classes

struct  ud_itab_entry_operand
 
struct  ud_itab_entry
 
struct  ud_lookup_table_list_entry
 

Macros

#define MAX_INSN_LENGTH   15
 
#define P_none   ( 0 )
 
#define P_inv64   ( 1 << 0 )
 
#define P_INV64(n)   ( ( n >> 0 ) & 1 )
 
#define P_def64   ( 1 << 1 )
 
#define P_DEF64(n)   ( ( n >> 1 ) & 1 )
 
#define P_oso   ( 1 << 2 )
 
#define P_OSO(n)   ( ( n >> 2 ) & 1 )
 
#define P_aso   ( 1 << 3 )
 
#define P_ASO(n)   ( ( n >> 3 ) & 1 )
 
#define P_rexb   ( 1 << 4 )
 
#define P_REXB(n)   ( ( n >> 4 ) & 1 )
 
#define P_rexw   ( 1 << 5 )
 
#define P_REXW(n)   ( ( n >> 5 ) & 1 )
 
#define P_rexr   ( 1 << 6 )
 
#define P_REXR(n)   ( ( n >> 6 ) & 1 )
 
#define P_rexx   ( 1 << 7 )
 
#define P_REXX(n)   ( ( n >> 7 ) & 1 )
 
#define P_seg   ( 1 << 8 )
 
#define P_SEG(n)   ( ( n >> 8 ) & 1 )
 
#define P_vexl   ( 1 << 9 )
 
#define P_VEXL(n)   ( ( n >> 9 ) & 1 )
 
#define P_vexw   ( 1 << 10 )
 
#define P_VEXW(n)   ( ( n >> 10 ) & 1 )
 
#define P_str   ( 1 << 11 )
 
#define P_STR(n)   ( ( n >> 11 ) & 1 )
 
#define P_strz   ( 1 << 12 )
 
#define P_STR_ZF(n)   ( ( n >> 12 ) & 1 )
 
#define SZ_NA   0
 
#define SZ_Z   1
 
#define SZ_V   2
 
#define SZ_Y   3
 
#define SZ_X   4
 
#define SZ_RDQ   7
 
#define SZ_B   8
 
#define SZ_W   16
 
#define SZ_D   32
 
#define SZ_Q   64
 
#define SZ_T   80
 
#define SZ_O   12
 
#define SZ_DQ   128 /* double quad */
 
#define SZ_QQ   256 /* quad quad */
 
#define SZ_BD   ((SZ_B << 8) | SZ_D)
 
#define SZ_BV   ((SZ_B << 8) | SZ_V)
 
#define SZ_WD   ((SZ_W << 8) | SZ_D)
 
#define SZ_WV   ((SZ_W << 8) | SZ_V)
 
#define SZ_WY   ((SZ_W << 8) | SZ_Y)
 
#define SZ_DY   ((SZ_D << 8) | SZ_Y)
 
#define SZ_WO   ((SZ_W << 8) | SZ_O)
 
#define SZ_DO   ((SZ_D << 8) | SZ_O)
 
#define SZ_QO   ((SZ_Q << 8) | SZ_O)
 

Typedefs

typedef uint16_t ud_operand_size_t
 

Enumerations

enum  ud_operand_code {
  OP_NONE, OP_A, OP_E, OP_M,
  OP_G, OP_I, OP_F, OP_R0,
  OP_R1, OP_R2, OP_R3, OP_R4,
  OP_R5, OP_R6, OP_R7, OP_AL,
  OP_CL, OP_DL, OP_AX, OP_CX,
  OP_DX, OP_eAX, OP_eCX, OP_eDX,
  OP_rAX, OP_rCX, OP_rDX, OP_ES,
  OP_CS, OP_SS, OP_DS, OP_FS,
  OP_GS, OP_ST0, OP_ST1, OP_ST2,
  OP_ST3, OP_ST4, OP_ST5, OP_ST6,
  OP_ST7, OP_J, OP_S, OP_O,
  OP_I1, OP_I3, OP_sI, OP_V,
  OP_W, OP_Q, OP_P, OP_U,
  OP_N, OP_MU, OP_H, OP_L,
  OP_R, OP_C, OP_D, OP_MR
}
 

Variables

enum ud_operand_code UD_ATTR_PACKED
 
struct ud_itab_entry ud_itab []
 
struct ud_lookup_table_list_entry ud_lookup_table_list []
 

Macro Definition Documentation

◆ MAX_INSN_LENGTH

#define MAX_INSN_LENGTH   15

◆ P_aso

#define P_aso   ( 1 << 3 )

◆ P_ASO

#define P_ASO (   n)    ( ( n >> 3 ) & 1 )

◆ P_def64

#define P_def64   ( 1 << 1 )

◆ P_DEF64

#define P_DEF64 (   n)    ( ( n >> 1 ) & 1 )

◆ P_inv64

#define P_inv64   ( 1 << 0 )

◆ P_INV64

#define P_INV64 (   n)    ( ( n >> 0 ) & 1 )

◆ P_none

#define P_none   ( 0 )

◆ P_oso

#define P_oso   ( 1 << 2 )

◆ P_OSO

#define P_OSO (   n)    ( ( n >> 2 ) & 1 )

◆ P_rexb

#define P_rexb   ( 1 << 4 )

◆ P_REXB

#define P_REXB (   n)    ( ( n >> 4 ) & 1 )

◆ P_rexr

#define P_rexr   ( 1 << 6 )

◆ P_REXR

#define P_REXR (   n)    ( ( n >> 6 ) & 1 )

◆ P_rexw

#define P_rexw   ( 1 << 5 )

◆ P_REXW

#define P_REXW (   n)    ( ( n >> 5 ) & 1 )

◆ P_rexx

#define P_rexx   ( 1 << 7 )

◆ P_REXX

#define P_REXX (   n)    ( ( n >> 7 ) & 1 )

◆ P_seg

#define P_seg   ( 1 << 8 )

◆ P_SEG

#define P_SEG (   n)    ( ( n >> 8 ) & 1 )

◆ P_str

#define P_str   ( 1 << 11 )

◆ P_STR

#define P_STR (   n)    ( ( n >> 11 ) & 1 )

◆ P_STR_ZF

#define P_STR_ZF (   n)    ( ( n >> 12 ) & 1 )

◆ P_strz

#define P_strz   ( 1 << 12 )

◆ P_vexl

#define P_vexl   ( 1 << 9 )

◆ P_VEXL

#define P_VEXL (   n)    ( ( n >> 9 ) & 1 )

◆ P_vexw

#define P_vexw   ( 1 << 10 )

◆ P_VEXW

#define P_VEXW (   n)    ( ( n >> 10 ) & 1 )

◆ SZ_B

#define SZ_B   8

◆ SZ_BD

#define SZ_BD   ((SZ_B << 8) | SZ_D)

◆ SZ_BV

#define SZ_BV   ((SZ_B << 8) | SZ_V)

◆ SZ_D

#define SZ_D   32

◆ SZ_DO

#define SZ_DO   ((SZ_D << 8) | SZ_O)

◆ SZ_DQ

#define SZ_DQ   128 /* double quad */

◆ SZ_DY

#define SZ_DY   ((SZ_D << 8) | SZ_Y)

◆ SZ_NA

#define SZ_NA   0

◆ SZ_O

#define SZ_O   12

◆ SZ_Q

#define SZ_Q   64

◆ SZ_QO

#define SZ_QO   ((SZ_Q << 8) | SZ_O)

◆ SZ_QQ

#define SZ_QQ   256 /* quad quad */

◆ SZ_RDQ

#define SZ_RDQ   7

◆ SZ_T

#define SZ_T   80

◆ SZ_V

#define SZ_V   2

◆ SZ_W

#define SZ_W   16

◆ SZ_WD

#define SZ_WD   ((SZ_W << 8) | SZ_D)

◆ SZ_WO

#define SZ_WO   ((SZ_W << 8) | SZ_O)

◆ SZ_WV

#define SZ_WV   ((SZ_W << 8) | SZ_V)

◆ SZ_WY

#define SZ_WY   ((SZ_W << 8) | SZ_Y)

◆ SZ_X

#define SZ_X   4

◆ SZ_Y

#define SZ_Y   3

◆ SZ_Z

#define SZ_Z   1

Typedef Documentation

◆ ud_operand_size_t

Enumeration Type Documentation

◆ ud_operand_code

Enumerator
OP_NONE 
OP_A 
OP_E 
OP_M 
OP_G 
OP_I 
OP_F 
OP_R0 
OP_R1 
OP_R2 
OP_R3 
OP_R4 
OP_R5 
OP_R6 
OP_R7 
OP_AL 
OP_CL 
OP_DL 
OP_AX 
OP_CX 
OP_DX 
OP_eAX 
OP_eCX 
OP_eDX 
OP_rAX 
OP_rCX 
OP_rDX 
OP_ES 
OP_CS 
OP_SS 
OP_DS 
OP_FS 
OP_GS 
OP_ST0 
OP_ST1 
OP_ST2 
OP_ST3 
OP_ST4 
OP_ST5 
OP_ST6 
OP_ST7 
OP_J 
OP_S 
OP_O 
OP_I1 
OP_I3 
OP_sI 
OP_V 
OP_W 
OP_Q 
OP_P 
OP_U 
OP_N 
OP_MU 
OP_H 
OP_L 
OP_R 
OP_C 
OP_D 
OP_MR 

Variable Documentation

◆ UD_ATTR_PACKED

enum ud_operand_code UD_ATTR_PACKED

◆ ud_itab

struct ud_itab_entry ud_itab[]

◆ ud_lookup_table_list

struct ud_lookup_table_list_entry ud_lookup_table_list[]