Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

x86opc.cc File Reference

#include "x86opc.h"

Go to the source code of this file.

Defines

#define Ap   TYPE_A, 0, SIZE_P, SIZE_P
#define Cd   TYPE_C, 0, SIZE_D, SIZE_D
#define Dd   TYPE_D, 0, SIZE_D, SIZE_D
#define E   TYPE_E, 0, SIZE_0, SIZE_0
#define Eb   TYPE_E, 0, SIZE_B, SIZE_B
#define Ew   TYPE_E, 0, SIZE_W, SIZE_W
#define Ed   TYPE_E, 0, SIZE_D, SIZE_D
#define Eq   TYPE_E, 0, SIZE_Q, SIZE_Q
#define Ev   TYPE_E, 0, SIZE_V, SIZE_V
#define Es   TYPE_E, 0, SIZE_S, SIZE_S
#define El   TYPE_E, 0, SIZE_L, SIZE_L
#define Et   TYPE_E, 0, SIZE_T, SIZE_T
#define Ea   TYPE_E, 0, SIZE_A, SIZE_A
#define Gb   TYPE_G, 0, SIZE_B, SIZE_B
#define Gw   TYPE_G, 0, SIZE_W, SIZE_W
#define Gv   TYPE_G, 0, SIZE_V, SIZE_V
#define Ib   TYPE_I, 0, SIZE_B, SIZE_B
#define Iw   TYPE_I, 0, SIZE_W, SIZE_W
#define Iv   TYPE_I, 0, SIZE_V, SIZE_V
#define Ibv   TYPE_I, 0, SIZE_B, SIZE_V
#define sIbv   TYPE_Is,0, SIZE_B, SIZE_V
#define Jb   TYPE_J, 0, SIZE_B, SIZE_B
#define Jv   TYPE_J, 0, SIZE_V, SIZE_V
#define M   TYPE_M, 0, 0, 0
#define Mw   TYPE_M, 0, SIZE_W, SIZE_W
#define Md   TYPE_M, 0, SIZE_D, SIZE_D
#define Mp   TYPE_M, 0, SIZE_P, SIZE_P
#define Mq   TYPE_M, 0, SIZE_Q, SIZE_Q
#define Ms   TYPE_M, 0, SIZE_S, SIZE_S
#define Ml   TYPE_M, 0, SIZE_L, SIZE_L
#define Mt   TYPE_M, 0, SIZE_T, SIZE_T
#define Ma   TYPE_M, 0, SIZE_A, SIZE_A
#define Ob   TYPE_O, 0, SIZE_B, SIZE_B
#define Ov   TYPE_O, 0, SIZE_V, SIZE_V
#define Pd   TYPE_P, 0, SIZE_D, SIZE_D
#define Pq   TYPE_P, 0, SIZE_Q, SIZE_Q
#define Qd   TYPE_Q, 0, SIZE_D, SIZE_D
#define Qq   TYPE_Q, 0, SIZE_Q, SIZE_Q
#define Rb   TYPE_R, 0, SIZE_B, SIZE_B
#define Rw   TYPE_R, 0, SIZE_W, SIZE_W
#define Rd   TYPE_R, 0, SIZE_D, SIZE_D
#define Rv   TYPE_R, 0, SIZE_V, SIZE_V
#define Sw   TYPE_S, 0, SIZE_W, SIZE_W
#define Td   TYPE_T, 0, SIZE_D, SIZE_D
#define Ft   TYPE_F, 0, SIZE_T, SIZE_T
#define __st   TYPE_Fx, 0, SIZE_T, SIZE_T
#define __1   TYPE_Ix, 1, SIZE_B, SIZE_B
#define __3   TYPE_Ix, 3, SIZE_B, SIZE_B
#define __al   TYPE_Rx, 0, SIZE_B, SIZE_B
#define __cl   TYPE_Rx, 1, SIZE_B, SIZE_B
#define __dl   TYPE_Rx, 2, SIZE_B, SIZE_B
#define __bl   TYPE_Rx, 3, SIZE_B, SIZE_B
#define __ah   TYPE_Rx, 4, SIZE_B, SIZE_B
#define __ch   TYPE_Rx, 5, SIZE_B, SIZE_B
#define __dh   TYPE_Rx, 6, SIZE_B, SIZE_B
#define __bh   TYPE_Rx, 7, SIZE_B, SIZE_B
#define __ax   TYPE_Rx, 0, SIZE_V, SIZE_V
#define __cx   TYPE_Rx, 1, SIZE_V, SIZE_V
#define __dx   TYPE_Rx, 2, SIZE_V, SIZE_V
#define __bx   TYPE_Rx, 3, SIZE_V, SIZE_V
#define __sp   TYPE_Rx, 4, SIZE_V, SIZE_V
#define __bp   TYPE_Rx, 5, SIZE_V, SIZE_V
#define __si   TYPE_Rx, 6, SIZE_V, SIZE_V
#define __di   TYPE_Rx, 7, SIZE_V, SIZE_V
#define __axw   TYPE_Rx, 0, SIZE_W, SIZE_W
#define __dxw   TYPE_Rx, 2, SIZE_W, SIZE_W
#define __axd   TYPE_Rx, 0, SIZE_D, SIZE_D
#define __cxd   TYPE_Rx, 1, SIZE_D, SIZE_D
#define __dxd   TYPE_Rx, 2, SIZE_D, SIZE_D
#define __bxd   TYPE_Rx, 3, SIZE_D, SIZE_D
#define __spd   TYPE_Rx, 4, SIZE_D, SIZE_D
#define __bpd   TYPE_Rx, 5, SIZE_D, SIZE_D
#define __sid   TYPE_Rx, 6, SIZE_D, SIZE_D
#define __did   TYPE_Rx, 7, SIZE_D, SIZE_D
#define __es   TYPE_Sx, 0, SIZE_W, SIZE_W
#define __cs   TYPE_Sx, 1, SIZE_W, SIZE_W
#define __ss   TYPE_Sx, 2, SIZE_W, SIZE_W
#define __ds   TYPE_Sx, 3, SIZE_W, SIZE_W
#define __fs   TYPE_Sx, 4, SIZE_W, SIZE_W
#define __gs   TYPE_Sx, 5, SIZE_W, SIZE_W
#define __st0   TYPE_F, 0, SIZE_T, SIZE_T
#define __st1   TYPE_F, 1, SIZE_T, SIZE_T
#define __st2   TYPE_F, 2, SIZE_T, SIZE_T
#define __st3   TYPE_F, 3, SIZE_T, SIZE_T
#define __st4   TYPE_F, 4, SIZE_T, SIZE_T
#define __st5   TYPE_F, 5, SIZE_T, SIZE_T
#define __st6   TYPE_F, 6, SIZE_T, SIZE_T
#define __st7   TYPE_F, 7, SIZE_T, SIZE_T
#define GROUP_80   0
#define GROUP_81   1
#define GROUP_83   2
#define GROUP_C0   3
#define GROUP_C1   4
#define GROUP_D0   5
#define GROUP_D1   6
#define GROUP_D2   7
#define GROUP_D3   8
#define GROUP_F6   9
#define GROUP_F7   10
#define GROUP_FE   11
#define GROUP_FF   12
#define GROUP_EXT_00   13
#define GROUP_EXT_01   14
#define GROUP_EXT_71   15
#define GROUP_EXT_72   16
#define GROUP_EXT_73   17
#define GROUP_EXT_BA   18
#define GROUP_EXT_C7   19

Variables

char * x86_regs [3][8]
char * x86_segs [8]
x86opc_insn x86_insns [256]
x86opc_insn x86_insns_ext [256]
x86opc_insn x86_group_insns [X86_GROUPS][8]
x86opc_insn x86_modfloat_group_insns [8][8]
x86opc_insn fgroup_12 [8]
x86opc_insn fgroup_14 [8]
x86opc_insn fgroup_15 [8]
x86opc_insn fgroup_16 [8]
x86opc_insn fgroup_17 [8]
x86opc_insn fgroup_25 [8]
x86opc_insn fgroup_34 [8]
x86opc_insn fgroup_63 [8]
x86opc_insn fgroup_74 [8]
x86opc_finsn x86_float_group_insns [8][8]


Define Documentation

#define __1   TYPE_Ix, 1, SIZE_B, SIZE_B
 

Definition at line 116 of file x86opc.cc.

#define __3   TYPE_Ix, 3, SIZE_B, SIZE_B
 

Definition at line 117 of file x86opc.cc.

#define __ah   TYPE_Rx, 4, SIZE_B, SIZE_B
 

Definition at line 123 of file x86opc.cc.

#define __al   TYPE_Rx, 0, SIZE_B, SIZE_B
 

Definition at line 119 of file x86opc.cc.

#define __ax   TYPE_Rx, 0, SIZE_V, SIZE_V
 

Definition at line 128 of file x86opc.cc.

#define __axd   TYPE_Rx, 0, SIZE_D, SIZE_D
 

Definition at line 140 of file x86opc.cc.

#define __axw   TYPE_Rx, 0, SIZE_W, SIZE_W
 

Definition at line 137 of file x86opc.cc.

#define __bh   TYPE_Rx, 7, SIZE_B, SIZE_B
 

Definition at line 126 of file x86opc.cc.

#define __bl   TYPE_Rx, 3, SIZE_B, SIZE_B
 

Definition at line 122 of file x86opc.cc.

#define __bp   TYPE_Rx, 5, SIZE_V, SIZE_V
 

Definition at line 133 of file x86opc.cc.

#define __bpd   TYPE_Rx, 5, SIZE_D, SIZE_D
 

Definition at line 145 of file x86opc.cc.

#define __bx   TYPE_Rx, 3, SIZE_V, SIZE_V
 

Definition at line 131 of file x86opc.cc.

#define __bxd   TYPE_Rx, 3, SIZE_D, SIZE_D
 

Definition at line 143 of file x86opc.cc.

#define __ch   TYPE_Rx, 5, SIZE_B, SIZE_B
 

Definition at line 124 of file x86opc.cc.

#define __cl   TYPE_Rx, 1, SIZE_B, SIZE_B
 

Definition at line 120 of file x86opc.cc.

#define __cs   TYPE_Sx, 1, SIZE_W, SIZE_W
 

Definition at line 150 of file x86opc.cc.

#define __cx   TYPE_Rx, 1, SIZE_V, SIZE_V
 

Definition at line 129 of file x86opc.cc.

#define __cxd   TYPE_Rx, 1, SIZE_D, SIZE_D
 

Definition at line 141 of file x86opc.cc.

#define __dh   TYPE_Rx, 6, SIZE_B, SIZE_B
 

Definition at line 125 of file x86opc.cc.

#define __di   TYPE_Rx, 7, SIZE_V, SIZE_V
 

Definition at line 135 of file x86opc.cc.

#define __did   TYPE_Rx, 7, SIZE_D, SIZE_D
 

Definition at line 147 of file x86opc.cc.

#define __dl   TYPE_Rx, 2, SIZE_B, SIZE_B
 

Definition at line 121 of file x86opc.cc.

#define __ds   TYPE_Sx, 3, SIZE_W, SIZE_W
 

Definition at line 152 of file x86opc.cc.

#define __dx   TYPE_Rx, 2, SIZE_V, SIZE_V
 

Definition at line 130 of file x86opc.cc.

#define __dxd   TYPE_Rx, 2, SIZE_D, SIZE_D
 

Definition at line 142 of file x86opc.cc.

#define __dxw   TYPE_Rx, 2, SIZE_W, SIZE_W
 

Definition at line 138 of file x86opc.cc.

#define __es   TYPE_Sx, 0, SIZE_W, SIZE_W
 

Definition at line 149 of file x86opc.cc.

#define __fs   TYPE_Sx, 4, SIZE_W, SIZE_W
 

Definition at line 153 of file x86opc.cc.

#define __gs   TYPE_Sx, 5, SIZE_W, SIZE_W
 

Definition at line 154 of file x86opc.cc.

#define __si   TYPE_Rx, 6, SIZE_V, SIZE_V
 

Definition at line 134 of file x86opc.cc.

#define __sid   TYPE_Rx, 6, SIZE_D, SIZE_D
 

Definition at line 146 of file x86opc.cc.

#define __sp   TYPE_Rx, 4, SIZE_V, SIZE_V
 

Definition at line 132 of file x86opc.cc.

#define __spd   TYPE_Rx, 4, SIZE_D, SIZE_D
 

Definition at line 144 of file x86opc.cc.

#define __ss   TYPE_Sx, 2, SIZE_W, SIZE_W
 

Definition at line 151 of file x86opc.cc.

#define __st   TYPE_Fx, 0, SIZE_T, SIZE_T
 

Definition at line 114 of file x86opc.cc.

#define __st0   TYPE_F, 0, SIZE_T, SIZE_T
 

Definition at line 156 of file x86opc.cc.

#define __st1   TYPE_F, 1, SIZE_T, SIZE_T
 

Definition at line 157 of file x86opc.cc.

#define __st2   TYPE_F, 2, SIZE_T, SIZE_T
 

Definition at line 158 of file x86opc.cc.

#define __st3   TYPE_F, 3, SIZE_T, SIZE_T
 

Definition at line 159 of file x86opc.cc.

#define __st4   TYPE_F, 4, SIZE_T, SIZE_T
 

Definition at line 160 of file x86opc.cc.

#define __st5   TYPE_F, 5, SIZE_T, SIZE_T
 

Definition at line 161 of file x86opc.cc.

#define __st6   TYPE_F, 6, SIZE_T, SIZE_T
 

Definition at line 162 of file x86opc.cc.

#define __st7   TYPE_F, 7, SIZE_T, SIZE_T
 

Definition at line 163 of file x86opc.cc.

#define Ap   TYPE_A, 0, SIZE_P, SIZE_P
 

Definition at line 67 of file x86opc.cc.

#define Cd   TYPE_C, 0, SIZE_D, SIZE_D
 

Definition at line 68 of file x86opc.cc.

#define Dd   TYPE_D, 0, SIZE_D, SIZE_D
 

Definition at line 69 of file x86opc.cc.

#define E   TYPE_E, 0, SIZE_0, SIZE_0
 

Definition at line 70 of file x86opc.cc.

#define Ea   TYPE_E, 0, SIZE_A, SIZE_A
 

Definition at line 79 of file x86opc.cc.

#define Eb   TYPE_E, 0, SIZE_B, SIZE_B
 

Definition at line 71 of file x86opc.cc.

#define Ed   TYPE_E, 0, SIZE_D, SIZE_D
 

Definition at line 73 of file x86opc.cc.

#define El   TYPE_E, 0, SIZE_L, SIZE_L
 

Definition at line 77 of file x86opc.cc.

#define Eq   TYPE_E, 0, SIZE_Q, SIZE_Q
 

Definition at line 74 of file x86opc.cc.

#define Es   TYPE_E, 0, SIZE_S, SIZE_S
 

Definition at line 76 of file x86opc.cc.

#define Et   TYPE_E, 0, SIZE_T, SIZE_T
 

Definition at line 78 of file x86opc.cc.

#define Ev   TYPE_E, 0, SIZE_V, SIZE_V
 

Definition at line 75 of file x86opc.cc.

#define Ew   TYPE_E, 0, SIZE_W, SIZE_W
 

Definition at line 72 of file x86opc.cc.

#define Ft   TYPE_F, 0, SIZE_T, SIZE_T
 

Definition at line 112 of file x86opc.cc.

#define Gb   TYPE_G, 0, SIZE_B, SIZE_B
 

Definition at line 80 of file x86opc.cc.

#define GROUP_80   0
 

Definition at line 175 of file x86opc.cc.

#define GROUP_81   1
 

Definition at line 176 of file x86opc.cc.

#define GROUP_83   2
 

Definition at line 177 of file x86opc.cc.

#define GROUP_C0   3
 

Definition at line 178 of file x86opc.cc.

#define GROUP_C1   4
 

Definition at line 179 of file x86opc.cc.

#define GROUP_D0   5
 

Definition at line 180 of file x86opc.cc.

#define GROUP_D1   6
 

Definition at line 181 of file x86opc.cc.

#define GROUP_D2   7
 

Definition at line 182 of file x86opc.cc.

#define GROUP_D3   8
 

Definition at line 183 of file x86opc.cc.

#define GROUP_EXT_00   13
 

Definition at line 188 of file x86opc.cc.

#define GROUP_EXT_01   14
 

Definition at line 189 of file x86opc.cc.

#define GROUP_EXT_71   15
 

Definition at line 190 of file x86opc.cc.

#define GROUP_EXT_72   16
 

Definition at line 191 of file x86opc.cc.

#define GROUP_EXT_73   17
 

Definition at line 192 of file x86opc.cc.

#define GROUP_EXT_BA   18
 

Definition at line 193 of file x86opc.cc.

#define GROUP_EXT_C7   19
 

Definition at line 194 of file x86opc.cc.

#define GROUP_F6   9
 

Definition at line 184 of file x86opc.cc.

#define GROUP_F7   10
 

Definition at line 185 of file x86opc.cc.

#define GROUP_FE   11
 

Definition at line 186 of file x86opc.cc.

#define GROUP_FF   12
 

Definition at line 187 of file x86opc.cc.

#define Gv   TYPE_G, 0, SIZE_V, SIZE_V
 

Definition at line 82 of file x86opc.cc.

#define Gw   TYPE_G, 0, SIZE_W, SIZE_W
 

Definition at line 81 of file x86opc.cc.

#define Ib   TYPE_I, 0, SIZE_B, SIZE_B
 

Definition at line 83 of file x86opc.cc.

#define Ibv   TYPE_I, 0, SIZE_B, SIZE_V
 

Definition at line 86 of file x86opc.cc.

#define Iv   TYPE_I, 0, SIZE_V, SIZE_V
 

Definition at line 85 of file x86opc.cc.

#define Iw   TYPE_I, 0, SIZE_W, SIZE_W
 

Definition at line 84 of file x86opc.cc.

#define Jb   TYPE_J, 0, SIZE_B, SIZE_B
 

Definition at line 88 of file x86opc.cc.

#define Jv   TYPE_J, 0, SIZE_V, SIZE_V
 

Definition at line 89 of file x86opc.cc.

#define M   TYPE_M, 0, 0, 0
 

Definition at line 90 of file x86opc.cc.

#define Ma   TYPE_M, 0, SIZE_A, SIZE_A
 

Definition at line 98 of file x86opc.cc.

#define Md   TYPE_M, 0, SIZE_D, SIZE_D
 

Definition at line 92 of file x86opc.cc.

#define Ml   TYPE_M, 0, SIZE_L, SIZE_L
 

Definition at line 96 of file x86opc.cc.

#define Mp   TYPE_M, 0, SIZE_P, SIZE_P
 

Definition at line 93 of file x86opc.cc.

#define Mq   TYPE_M, 0, SIZE_Q, SIZE_Q
 

Definition at line 94 of file x86opc.cc.

#define Ms   TYPE_M, 0, SIZE_S, SIZE_S
 

Definition at line 95 of file x86opc.cc.

#define Mt   TYPE_M, 0, SIZE_T, SIZE_T
 

Definition at line 97 of file x86opc.cc.

#define Mw   TYPE_M, 0, SIZE_W, SIZE_W
 

Definition at line 91 of file x86opc.cc.

#define Ob   TYPE_O, 0, SIZE_B, SIZE_B
 

Definition at line 99 of file x86opc.cc.

#define Ov   TYPE_O, 0, SIZE_V, SIZE_V
 

Definition at line 100 of file x86opc.cc.

#define Pd   TYPE_P, 0, SIZE_D, SIZE_D
 

Definition at line 101 of file x86opc.cc.

#define Pq   TYPE_P, 0, SIZE_Q, SIZE_Q
 

Definition at line 102 of file x86opc.cc.

#define Qd   TYPE_Q, 0, SIZE_D, SIZE_D
 

Definition at line 103 of file x86opc.cc.

#define Qq   TYPE_Q, 0, SIZE_Q, SIZE_Q
 

Definition at line 104 of file x86opc.cc.

#define Rb   TYPE_R, 0, SIZE_B, SIZE_B
 

Definition at line 105 of file x86opc.cc.

#define Rd   TYPE_R, 0, SIZE_D, SIZE_D
 

Definition at line 107 of file x86opc.cc.

#define Rv   TYPE_R, 0, SIZE_V, SIZE_V
 

Definition at line 108 of file x86opc.cc.

#define Rw   TYPE_R, 0, SIZE_W, SIZE_W
 

Definition at line 106 of file x86opc.cc.

#define sIbv   TYPE_Is,0, SIZE_B, SIZE_V
 

Definition at line 87 of file x86opc.cc.

#define Sw   TYPE_S, 0, SIZE_W, SIZE_W
 

Definition at line 109 of file x86opc.cc.

#define Td   TYPE_T, 0, SIZE_D, SIZE_D
 

Definition at line 110 of file x86opc.cc.


Variable Documentation

x86opc_insn fgroup_12[8]
 

Initial value:

 {
{"fnop"},
{0},
{0},
{0},
{0},
{0},
{0},
{0}
}

Definition at line 1113 of file x86opc.cc.

x86opc_insn fgroup_14[8]
 

Initial value:

 {
{"fchs"},
{"fabs"},
{0},
{0},
{"ftst"},
{"fxam"},
{0},
{0}
}

Definition at line 1124 of file x86opc.cc.

x86opc_insn fgroup_15[8]
 

Initial value:

 {
{"fld1"},
{"fldl2t"},
{"fldl2e"},
{"fldpi"},
{"fldlg2"},
{"fldln2"},
{"fldz"},
{0}
}

Definition at line 1135 of file x86opc.cc.

x86opc_insn fgroup_16[8]
 

Initial value:

 {
{"f2xm1"},
{"fyl2x"},
{"fptan"},
{"fpatan"},
{"fxtract"},
{"fprem1"},
{"fdecstp"},
{"fincstp"}
}

Definition at line 1146 of file x86opc.cc.

x86opc_insn fgroup_17[8]
 

Initial value:

 {
{"fprem"},
{"fyl2xp1"},
{"fsqrt"},
{"fsincos"},
{"frndint"},
{"fscale"},
{"fsin"},
{"fcos"}
}

Definition at line 1157 of file x86opc.cc.

x86opc_insn fgroup_25[8]
 

Initial value:

 {
{0},
{"fucompp"},
{0},
{0},
{0},
{0},
{0},
{0}
}

Definition at line 1168 of file x86opc.cc.

x86opc_insn fgroup_34[8]
 

Initial value:

 {
{0},
{0},
{"fclex"},
{"finit"},
{0},
{0},
{0},
{0}
}

Definition at line 1179 of file x86opc.cc.

x86opc_insn fgroup_63[8]
 

Initial value:

 {
{0},
{"fcompp"},
{0},
{0},
{0},
{0},
{0},
{0}
}

Definition at line 1190 of file x86opc.cc.

x86opc_insn fgroup_74[8]
 

Initial value:

 {
{"fstsw", {{__axw}}},
{0},
{0},
{0},
{0},
{0},
{0},
{0}
}

Definition at line 1201 of file x86opc.cc.

x86opc_finsn x86_float_group_insns[8][8]
 

Definition at line 1216 of file x86opc.cc.

Referenced by x86dis::decode_insn(), and x86asm::match_fopcodes().

x86opc_insn x86_group_insns[X86_GROUPS][8]
 

Definition at line 779 of file x86opc.cc.

Referenced by x86dis::decode_insn(), and x86asm::match_opcodes().

x86opc_insn x86_insns[256]
 

Definition at line 197 of file x86opc.cc.

Referenced by x86dis::decode(), and x86asm::encode().

x86opc_insn x86_insns_ext[256]
 

Definition at line 488 of file x86opc.cc.

Referenced by x86dis::decode_insn(), and x86asm::encode().

x86opc_insn x86_modfloat_group_insns[8][8]
 

Definition at line 1021 of file x86opc.cc.

Referenced by x86dis::decode_insn(), and x86asm::match_fopcodes().

char* x86_regs[3][8]
 

Initial value:

 {
{"al",  "cl",  "dl",  "bl",  "ah",  "ch",  "dh",  "bh"},
{"ax",  "cx",  "dx",  "bx",  "sp",  "bp",  "si",  "di"},
{"eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"}
}

Definition at line 165 of file x86opc.cc.

Referenced by x86asm::opmem(), x86asm::opreg(), srt_x86_idx2reg(), and x86dis::str_op().

char* x86_segs[8]
 

Initial value:

 {
"es", "cs", "ss", "ds", "fs", "gs", 0, 0
}

Definition at line 171 of file x86opc.cc.

Referenced by x86asm::opmem(), x86asm::opseg(), and x86dis::str_op().


Generated on Fri May 7 21:15:52 2004 by doxygen 1.3.5