Lines Matching defs:x86emu

1 /*	$OpenBSD: x86emu.c,v 1.13 2024/09/04 07:54:52 mglocker Exp $	*/
2 /* $NetBSD: x86emu.c,v 1.7 2009/02/03 19:26:29 joerg Exp $ */
35 #include <dev/x86emu/x86emu.h>
36 #include <dev/x86emu/x86emu_regs.h>
38 static void x86emu_intr_raise (struct x86emu *, uint8_t type);
40 static void x86emu_exec_one_byte(struct x86emu *);
41 static void x86emu_exec_two_byte(struct x86emu *);
43 static void fetch_decode_modrm (struct x86emu *);
44 static uint8_t fetch_byte_imm (struct x86emu *);
45 static uint16_t fetch_word_imm (struct x86emu *);
46 static uint32_t fetch_long_imm (struct x86emu *);
47 static uint8_t fetch_data_byte (struct x86emu *, uint32_t offset);
48 static uint8_t fetch_byte (struct x86emu *, uint segment, uint32_t offset);
49 static uint16_t fetch_data_word (struct x86emu *, uint32_t offset);
50 static uint16_t fetch_word (struct x86emu *, uint32_t segment, uint32_t offset);
51 static uint32_t fetch_data_long (struct x86emu *, uint32_t offset);
52 static uint32_t fetch_long (struct x86emu *, uint32_t segment, uint32_t offset);
53 static void store_data_byte (struct x86emu *, uint32_t offset, uint8_t val);
54 static void store_byte (struct x86emu *, uint32_t segment, uint32_t offset, uint8_t val);
55 static void store_data_word (struct x86emu *, uint32_t offset, uint16_t val);
56 static void store_word (struct x86emu *, uint32_t segment, uint32_t offset, uint16_t val);
57 static void store_data_long (struct x86emu *, uint32_t offset, uint32_t val);
58 static void store_long (struct x86emu *, uint32_t segment, uint32_t offset, uint32_t val);
59 static uint8_t* decode_rl_byte_register(struct x86emu *);
60 static uint16_t* decode_rl_word_register(struct x86emu *);
61 static uint32_t* decode_rl_long_register(struct x86emu *);
62 static uint8_t* decode_rh_byte_register(struct x86emu *);
63 static uint16_t* decode_rh_word_register(struct x86emu *);
64 static uint32_t* decode_rh_long_register(struct x86emu *);
65 static uint16_t* decode_rh_seg_register(struct x86emu *);
66 static uint32_t decode_rl_address(struct x86emu *);
68 static uint8_t decode_and_fetch_byte(struct x86emu *);
69 static uint16_t decode_and_fetch_word(struct x86emu *);
70 static uint32_t decode_and_fetch_long(struct x86emu *);
72 static uint8_t decode_and_fetch_byte_imm8(struct x86emu *, uint8_t *);
73 static uint16_t decode_and_fetch_word_imm8(struct x86emu *, uint8_t *);
74 static uint32_t decode_and_fetch_long_imm8(struct x86emu *, uint8_t *);
76 static uint16_t decode_and_fetch_word_disp(struct x86emu *, int16_t);
77 static uint32_t decode_and_fetch_long_disp(struct x86emu *, int16_t);
79 static void write_back_byte(struct x86emu *, uint8_t);
80 static void write_back_word(struct x86emu *, uint16_t);
81 static void write_back_long(struct x86emu *, uint32_t);
83 static uint16_t aaa_word (struct x86emu *, uint16_t d);
84 static uint16_t aas_word (struct x86emu *, uint16_t d);
85 static uint16_t aad_word (struct x86emu *, uint16_t d);
86 static uint16_t aam_word (struct x86emu *, uint8_t d);
87 static uint8_t adc_byte (struct x86emu *, uint8_t d, uint8_t s);
88 static uint16_t adc_word (struct x86emu *, uint16_t d, uint16_t s);
89 static uint32_t adc_long (struct x86emu *, uint32_t d, uint32_t s);
90 static uint8_t add_byte (struct x86emu *, uint8_t d, uint8_t s);
91 static uint16_t add_word (struct x86emu *, uint16_t d, uint16_t s);
92 static uint32_t add_long (struct x86emu *, uint32_t d, uint32_t s);
93 static uint8_t and_byte (struct x86emu *, uint8_t d, uint8_t s);
94 static uint16_t and_word (struct x86emu *, uint16_t d, uint16_t s);
95 static uint32_t and_long (struct x86emu *, uint32_t d, uint32_t s);
96 static uint8_t cmp_byte (struct x86emu *, uint8_t d, uint8_t s);
97 static uint16_t cmp_word (struct x86emu *, uint16_t d, uint16_t s);
98 static uint32_t cmp_long (struct x86emu *, uint32_t d, uint32_t s);
99 static void cmp_byte_no_return (struct x86emu *, uint8_t d, uint8_t s);
100 static void cmp_word_no_return (struct x86emu *, uint16_t d, uint16_t s);
101 static void cmp_long_no_return (struct x86emu *, uint32_t d, uint32_t s);
102 static uint8_t daa_byte (struct x86emu *, uint8_t d);
103 static uint8_t das_byte (struct x86emu *, uint8_t d);
104 static uint8_t dec_byte (struct x86emu *, uint8_t d);
105 static uint16_t dec_word (struct x86emu *, uint16_t d);
106 static uint32_t dec_long (struct x86emu *, uint32_t d);
107 static uint8_t inc_byte (struct x86emu *, uint8_t d);
108 static uint16_t inc_word (struct x86emu *, uint16_t d);
109 static uint32_t inc_long (struct x86emu *, uint32_t d);
110 static uint8_t or_byte (struct x86emu *, uint8_t d, uint8_t s);
111 static uint16_t or_word (struct x86emu *, uint16_t d, uint16_t s);
112 static uint32_t or_long (struct x86emu *, uint32_t d, uint32_t s);
113 static uint8_t neg_byte (struct x86emu *, uint8_t s);
114 static uint16_t neg_word (struct x86emu *, uint16_t s);
115 static uint32_t neg_long (struct x86emu *, uint32_t s);
116 static uint8_t rcl_byte (struct x86emu *, uint8_t d, uint8_t s);
117 static uint16_t rcl_word (struct x86emu *, uint16_t d, uint8_t s);
118 static uint32_t rcl_long (struct x86emu *, uint32_t d, uint8_t s);
119 static uint8_t rcr_byte (struct x86emu *, uint8_t d, uint8_t s);
120 static uint16_t rcr_word (struct x86emu *, uint16_t d, uint8_t s);
121 static uint32_t rcr_long (struct x86emu *, uint32_t d, uint8_t s);
122 static uint8_t rol_byte (struct x86emu *, uint8_t d, uint8_t s);
123 static uint16_t rol_word (struct x86emu *, uint16_t d, uint8_t s);
124 static uint32_t rol_long (struct x86emu *, uint32_t d, uint8_t s);
125 static uint8_t ror_byte (struct x86emu *, uint8_t d, uint8_t s);
126 static uint16_t ror_word (struct x86emu *, uint16_t d, uint8_t s);
127 static uint32_t ror_long (struct x86emu *, uint32_t d, uint8_t s);
128 static uint8_t shl_byte (struct x86emu *, uint8_t d, uint8_t s);
129 static uint16_t shl_word (struct x86emu *, uint16_t d, uint8_t s);
130 static uint32_t shl_long (struct x86emu *, uint32_t d, uint8_t s);
131 static uint8_t shr_byte (struct x86emu *, uint8_t d, uint8_t s);
132 static uint16_t shr_word (struct x86emu *, uint16_t d, uint8_t s);
133 static uint32_t shr_long (struct x86emu *, uint32_t d, uint8_t s);
134 static uint8_t sar_byte (struct x86emu *, uint8_t d, uint8_t s);
135 static uint16_t sar_word (struct x86emu *, uint16_t d, uint8_t s);
136 static uint32_t sar_long (struct x86emu *, uint32_t d, uint8_t s);
137 static uint16_t shld_word (struct x86emu *, uint16_t d, uint16_t fill, uint8_t s);
138 static uint32_t shld_long (struct x86emu *, uint32_t d, uint32_t fill, uint8_t s);
139 static uint16_t shrd_word (struct x86emu *, uint16_t d, uint16_t fill, uint8_t s);
140 static uint32_t shrd_long (struct x86emu *, uint32_t d, uint32_t fill, uint8_t s);
141 static uint8_t sbb_byte (struct x86emu *, uint8_t d, uint8_t s);
142 static uint16_t sbb_word (struct x86emu *, uint16_t d, uint16_t s);
143 static uint32_t sbb_long (struct x86emu *, uint32_t d, uint32_t s);
144 static uint8_t sub_byte (struct x86emu *, uint8_t d, uint8_t s);
145 static uint16_t sub_word (struct x86emu *, uint16_t d, uint16_t s);
146 static uint32_t sub_long (struct x86emu *, uint32_t d, uint32_t s);
147 static void test_byte (struct x86emu *, uint8_t d, uint8_t s);
148 static void test_word (struct x86emu *, uint16_t d, uint16_t s);
149 static void test_long (struct x86emu *, uint32_t d, uint32_t s);
150 static uint8_t xor_byte (struct x86emu *, uint8_t d, uint8_t s);
151 static uint16_t xor_word (struct x86emu *, uint16_t d, uint16_t s);
152 static uint32_t xor_long (struct x86emu *, uint32_t d, uint32_t s);
153 static void imul_byte (struct x86emu *, uint8_t s);
154 static void imul_word (struct x86emu *, uint16_t s);
155 static void imul_long (struct x86emu *, uint32_t s);
156 static void mul_byte (struct x86emu *, uint8_t s);
157 static void mul_word (struct x86emu *, uint16_t s);
158 static void mul_long (struct x86emu *, uint32_t s);
159 static void idiv_byte (struct x86emu *, uint8_t s);
160 static void idiv_word (struct x86emu *, uint16_t s);
161 static void idiv_long (struct x86emu *, uint32_t s);
162 static void div_byte (struct x86emu *, uint8_t s);
163 static void div_word (struct x86emu *, uint16_t s);
164 static void div_long (struct x86emu *, uint32_t s);
165 static void ins (struct x86emu *, int size);
166 static void outs (struct x86emu *, int size);
167 static void push_word (struct x86emu *, uint16_t w);
168 static void push_long (struct x86emu *, uint32_t w);
169 static uint16_t pop_word (struct x86emu *);
170 static uint32_t pop_long (struct x86emu *);
177 x86emu_intr_dispatch(struct x86emu *emu, uint8_t intno)
193 x86emu_intr_handle(struct x86emu *emu)
213 x86emu_intr_raise(struct x86emu *emu, uint8_t intrnum)
226 x86emu_exec(struct x86emu *emu)
254 x86emu_exec_call(struct x86emu *emu, uint16_t seg, uint16_t off)
265 x86emu_exec_intr(struct x86emu *emu, uint8_t intr)
284 x86emu_halt_sys(struct x86emu *emu)
306 fetch_decode_modrm(struct x86emu *emu)
327 fetch_byte_imm(struct x86emu *emu)
347 fetch_word_imm(struct x86emu *emu)
367 fetch_long_imm(struct x86emu *emu)
406 get_data_segment(struct x86emu *emu)
444 fetch_data_byte(struct x86emu *emu, uint32_t offset)
459 fetch_data_word(struct x86emu *emu, uint32_t offset)
474 fetch_data_long(struct x86emu *emu, uint32_t offset)
490 fetch_byte(struct x86emu *emu, uint32_t segment, uint32_t offset)
506 fetch_word(struct x86emu *emu, uint32_t segment, uint32_t offset)
522 fetch_long(struct x86emu *emu, uint32_t segment, uint32_t offset)
539 store_data_byte(struct x86emu *emu, uint32_t offset, uint8_t val)
556 store_data_word(struct x86emu *emu, uint32_t offset, uint16_t val)
573 store_data_long(struct x86emu *emu, uint32_t offset, uint32_t val)
590 store_byte(struct x86emu *emu, uint32_t segment, uint32_t offset, uint8_t val)
607 store_word(struct x86emu *emu, uint32_t segment, uint32_t offset, uint16_t val)
624 store_long(struct x86emu *emu, uint32_t segment, uint32_t offset, uint32_t val)
641 decode_rm_byte_register(struct x86emu *emu, int reg)
666 decode_rl_byte_register(struct x86emu *emu)
672 decode_rh_byte_register(struct x86emu *emu)
689 decode_rm_word_register(struct x86emu *emu, int reg)
714 decode_rl_word_register(struct x86emu *emu)
720 decode_rh_word_register(struct x86emu *emu)
737 decode_rm_long_register(struct x86emu *emu, int reg)
762 decode_rl_long_register(struct x86emu *emu)
768 decode_rh_long_register(struct x86emu *emu)
787 decode_rh_seg_register(struct x86emu *emu)
811 decode_sib_address(struct x86emu *emu, int sib, int mod)
890 decode_rl_address(struct x86emu *emu)
982 decode_and_fetch_byte(struct x86emu *emu)
993 decode_and_fetch_word_disp(struct x86emu *emu, int16_t disp)
1007 decode_and_fetch_long_disp(struct x86emu *emu, int16_t disp)
1021 decode_and_fetch_word(struct x86emu *emu)
1027 decode_and_fetch_long(struct x86emu *emu)
1033 decode_and_fetch_byte_imm8(struct x86emu *emu, uint8_t *imm)
1046 decode_and_fetch_word_imm8(struct x86emu *emu, uint8_t *imm)
1059 decode_and_fetch_long_imm8(struct x86emu *emu, uint8_t *imm)
1072 write_back_byte(struct x86emu *emu, uint8_t val)
1081 write_back_word(struct x86emu *emu, uint16_t val)
1090 write_back_long(struct x86emu *emu, uint32_t val)
1099 common_inc_word_long(struct x86emu *emu, union x86emu_register *reg)
1108 common_dec_word_long(struct x86emu *emu, union x86emu_register *reg)
1117 common_binop_byte_rm_r(struct x86emu *emu,
1118 uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
1138 common_binop_ns_byte_rm_r(struct x86emu *emu,
1139 void (*binop)(struct x86emu *, uint8_t, uint8_t))
1156 common_binop_word_rm_r(struct x86emu *emu,
1157 uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
1176 common_binop_byte_r_rm(struct x86emu *emu,
1177 uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
1194 common_binop_long_rm_r(struct x86emu *emu,
1195 uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
1214 common_binop_word_long_rm_r(struct x86emu *emu,
1215 uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
1216 uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
1225 common_binop_ns_word_rm_r(struct x86emu *emu,
1226 void (*binop)(struct x86emu *, uint16_t, uint16_t))
1244 common_binop_ns_long_rm_r(struct x86emu *emu,
1245 void (*binop)(struct x86emu *, uint32_t, uint32_t))
1262 common_binop_ns_word_long_rm_r(struct x86emu *emu,
1263 void (*binop16)(struct x86emu *, uint16_t, uint16_t),
1264 void (*binop32)(struct x86emu *, uint32_t, uint32_t))
1273 common_binop_long_r_rm(struct x86emu *emu,
1274 uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
1291 common_binop_word_r_rm(struct x86emu *emu,
1292 uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
1309 common_binop_word_long_r_rm(struct x86emu *emu,
1310 uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
1311 uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
1320 common_binop_byte_imm(struct x86emu *emu,
1321 uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
1330 common_binop_word_long_imm(struct x86emu *emu,
1331 uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
1332 uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
1348 common_push_word_long(struct x86emu *emu, union x86emu_register *reg)
1357 common_pop_word_long(struct x86emu *emu, union x86emu_register *reg)
1366 common_imul_long_IMM(struct x86emu *emu, int byte_imm)
1399 common_imul_word_IMM(struct x86emu *emu, int byte_imm)
1432 common_imul_imm(struct x86emu *emu, int byte_imm)
1441 common_jmp_near(struct x86emu *emu, int cond)
1453 common_load_far_pointer(struct x86emu *emu, uint16_t *seg)
1475 x86emuOp_cmp_byte_R_RM(struct x86emu *emu)
1491 x86emuOp32_cmp_word_R_RM(struct x86emu *emu)
1502 x86emuOp16_cmp_word_R_RM(struct x86emu *emu)
1513 x86emuOp_cmp_word_R_RM(struct x86emu *emu)
1526 x86emuOp_cmp_byte_AL_IMM(struct x86emu *emu)
1539 x86emuOp32_cmp_word_AX_IMM(struct x86emu *emu)
1548 x86emuOp16_cmp_word_AX_IMM(struct x86emu *emu)
1557 x86emuOp_cmp_word_AX_IMM(struct x86emu *emu)
1570 x86emuOp_push_all(struct x86emu *emu)
1602 x86emuOp_pop_all(struct x86emu *emu)
1633 x86emuOp_push_word_IMM(struct x86emu *emu)
1653 x86emuOp_push_byte_IMM(struct x86emu *emu)
1670 x86emuOp_ins_word(struct x86emu *emu)
1684 x86emuOp_outs_word(struct x86emu *emu)
1698 x86emuOp_jump_near_L(struct x86emu *emu)
1713 x86emuOp_jump_near_NL(struct x86emu *emu)
1728 x86emuOp_jump_near_LE(struct x86emu *emu)
1743 x86emuOp_jump_near_NLE(struct x86emu *emu)
1754 uint8_t(*const opc80_byte_operation[]) (struct x86emu *, uint8_t d, uint8_t s) =
1771 x86emuOp_opc80_byte_RM_IMM(struct x86emu *emu)
1790 (struct x86emu *, uint16_t d, uint16_t s) =
1804 (struct x86emu *, uint32_t d, uint32_t s) =
1821 x86emuOp32_opc81_word_RM_IMM(struct x86emu *emu)
1839 x86emuOp16_opc81_word_RM_IMM(struct x86emu *emu)
1857 x86emuOp_opc81_word_RM_IMM(struct x86emu *emu)
1867 (struct x86emu *, uint8_t s, uint8_t d) =
1884 x86emuOp_opc82_byte_RM_IMM(struct x86emu *emu)
1904 (struct x86emu *, uint16_t s, uint16_t d) =
1918 (struct x86emu *, uint32_t s, uint32_t d) =
1935 x86emuOp32_opc83_word_RM_IMM(struct x86emu *emu)
1948 x86emuOp16_opc83_word_RM_IMM(struct x86emu *emu)
1961 x86emuOp_opc83_word_RM_IMM(struct x86emu *emu)
1974 x86emuOp_xchg_byte_RM_R(struct x86emu *emu)
1992 x86emuOp32_xchg_word_RM_R(struct x86emu *emu)
2006 x86emuOp16_xchg_word_RM_R(struct x86emu *emu)
2020 x86emuOp_xchg_word_RM_R(struct x86emu *emu)
2033 x86emuOp_mov_byte_RM_R(struct x86emu *emu)
2054 x86emuOp32_mov_word_RM_R(struct x86emu *emu)
2071 x86emuOp16_mov_word_RM_R(struct x86emu *emu)
2088 x86emuOp_mov_word_RM_R(struct x86emu *emu)
2101 x86emuOp_mov_byte_R_RM(struct x86emu *emu)
2115 x86emuOp_mov_word_R_RM(struct x86emu *emu)
2137 x86emuOp_mov_word_RM_SR(struct x86emu *emu)
2158 x86emuOp_lea_word_R_M(struct x86emu *emu)
2185 x86emuOp_mov_word_SR_RM(struct x86emu *emu)
2205 x86emuOp32_pop_RM(struct x86emu *emu)
2222 x86emuOp16_pop_RM(struct x86emu *emu)
2239 x86emuOp_pop_RM(struct x86emu *emu)
2252 x86emuOp_xchg_word_AX_CX(struct x86emu *emu)
2272 x86emuOp_xchg_word_AX_DX(struct x86emu *emu)
2292 x86emuOp_xchg_word_AX_BX(struct x86emu *emu)
2312 x86emuOp_xchg_word_AX_SP(struct x86emu *emu)
2332 x86emuOp_xchg_word_AX_BP(struct x86emu *emu)
2352 x86emuOp_xchg_word_AX_SI(struct x86emu *emu)
2372 x86emuOp_xchg_word_AX_DI(struct x86emu *emu)
2392 x86emuOp_cbw(struct x86emu *emu)
2414 x86emuOp_cwd(struct x86emu *emu)
2436 x86emuOp_call_far_IMM(struct x86emu *emu)
2458 x86emuOp_pushf_word(struct x86emu *emu)
2476 x86emuOp_popf_word(struct x86emu *emu)
2490 x86emuOp_sahf(struct x86emu *emu)
2503 x86emuOp_lahf(struct x86emu *emu)
2516 x86emuOp_mov_AL_M_IMM(struct x86emu *emu)
2529 x86emuOp_mov_AX_M_IMM(struct x86emu *emu)
2546 x86emuOp_mov_M_AL_IMM(struct x86emu *emu)
2559 x86emuOp_mov_M_AX_IMM(struct x86emu *emu)
2576 x86emuOp_movs_byte(struct x86emu *emu)
2607 x86emuOp_movs_word(struct x86emu *emu)
2648 x86emuOp_cmps_byte(struct x86emu *emu)
2700 x86emuOp_cmps_word(struct x86emu *emu)
2780 x86emuOp_test_AX_IMM(struct x86emu *emu)
2794 x86emuOp_stos_byte(struct x86emu *emu)
2823 x86emuOp_stos_word(struct x86emu *emu)
2861 x86emuOp_lods_byte(struct x86emu *emu)
2889 x86emuOp_lods_word(struct x86emu *emu)
2925 x86emuOp_scas_byte(struct x86emu *emu)
2970 x86emuOp_scas_word(struct x86emu *emu)
3038 x86emuOp_mov_word_AX_IMM(struct x86emu *emu)
3051 x86emuOp_mov_word_CX_IMM(struct x86emu *emu)
3064 x86emuOp_mov_word_DX_IMM(struct x86emu *emu)
3077 x86emuOp_mov_word_BX_IMM(struct x86emu *emu)
3090 x86emuOp_mov_word_SP_IMM(struct x86emu *emu)
3103 x86emuOp_mov_word_BP_IMM(struct x86emu *emu)
3116 x86emuOp_mov_word_SI_IMM(struct x86emu *emu)
3129 x86emuOp_mov_word_DI_IMM(struct x86emu *emu)
3139 (struct x86emu *, uint8_t d, uint8_t s) =
3156 x86emuOp_opcC0_byte_RM_MEM(struct x86emu *emu)
3174 (struct x86emu *, uint16_t s, uint8_t d) =
3188 (struct x86emu *, uint32_t s, uint8_t d) =
3205 x86emuOp_opcC1_word_RM_MEM(struct x86emu *emu)
3237 x86emuOp_ret_near_IMM(struct x86emu *emu)
3251 x86emuOp_mov_byte_RM_IMM(struct x86emu *emu)
3276 x86emuOp32_mov_word_RM_IMM(struct x86emu *emu)
3297 x86emuOp16_mov_word_RM_IMM(struct x86emu *emu)
3318 x86emuOp_mov_word_RM_IMM(struct x86emu *emu)
3331 x86emuOp_enter(struct x86emu *emu)
3358 x86emuOp_leave(struct x86emu *emu)
3369 x86emuOp_ret_far_IMM(struct x86emu *emu)
3384 x86emuOp_ret_far(struct x86emu *emu)
3395 x86emuOp_int3(struct x86emu *emu)
3405 x86emuOp_int_IMM(struct x86emu *emu)
3418 x86emuOp_into(struct x86emu *emu)
3429 x86emuOp_iret(struct x86emu *emu)
3441 x86emuOp_opcD0_byte_RM_1(struct x86emu *emu)
3456 x86emuOp_opcD1_word_RM_1(struct x86emu *emu)
3480 x86emuOp_opcD2_byte_RM_CL(struct x86emu *emu)
3496 x86emuOp_opcD3_word_RM_CL(struct x86emu *emu)
3522 x86emuOp_aam(struct x86emu *emu)
3540 x86emuOp_aad(struct x86emu *emu)
3559 x86emuOp_xlat(struct x86emu *emu)
3569 x86emuOp_esc_coprocess_d8(struct x86emu *emu)
3574 x86emuOp_esc_coprocess_d9(struct x86emu *emu)
3582 x86emuOp_esc_coprocess_da(struct x86emu *emu)
3590 x86emuOp_esc_coprocess_db(struct x86emu *emu)
3598 x86emuOp_esc_coprocess_dc(struct x86emu *emu)
3606 x86emuOp_esc_coprocess_dd(struct x86emu *emu)
3614 x86emuOp_esc_coprocess_de(struct x86emu *emu)
3622 x86emuOp_esc_coprocess_df(struct x86emu *emu)
3635 x86emuOp_loopne(struct x86emu *emu)
3651 x86emuOp_loope(struct x86emu *emu)
3667 x86emuOp_loop(struct x86emu *emu)
3683 x86emuOp_jcxz(struct x86emu *emu)
3700 x86emuOp_in_byte_AL_IMM(struct x86emu *emu)
3713 x86emuOp_in_word_AX_IMM(struct x86emu *emu)
3730 x86emuOp_out_byte_IMM_AL(struct x86emu *emu)
3743 x86emuOp_out_word_IMM_AX(struct x86emu *emu)
3760 x86emuOp_call_near_IMM(struct x86emu *emu)
3782 x86emuOp_jump_near_IMM(struct x86emu *emu)
3796 x86emuOp_jump_far_IMM(struct x86emu *emu)
3811 x86emuOp_jump_byte_IMM(struct x86emu *emu)
3826 x86emuOp_in_byte_AL_DX(struct x86emu *emu)
3836 x86emuOp_in_word_AX_DX(struct x86emu *emu)
3850 x86emuOp_out_byte_DX_AL(struct x86emu *emu)
3860 x86emuOp_out_word_DX_AX(struct x86emu *emu)
3874 x86emuOp_lock(struct x86emu *emu)
3885 x86emuOp_cmc(struct x86emu *emu)
3898 x86emuOp_opcF6_byte_RM(struct x86emu *emu)
3943 x86emuOp32_opcF7_word_RM(struct x86emu *emu)
3992 x86emuOp16_opcF7_word_RM(struct x86emu *emu)
4041 x86emuOp_opcF7_word_RM(struct x86emu *emu)
4054 x86emuOp_opcFE_byte_RM(struct x86emu *emu)
4094 x86emuOp32_opcFF_word_RM(struct x86emu *emu)
4132 x86emuOp16_opcFF_word_RM(struct x86emu *emu)
4171 x86emuOp_opcFF_word_RM(struct x86emu *emu)
4225 x86emu_exec_one_byte(struct x86emu * emu)
5032 common_jmp_long(struct x86emu *emu, int cond)
5043 common_set_byte(struct x86emu *emu, int cond)
5060 common_bitstring32(struct x86emu *emu, int op)
5088 common_bitstring16(struct x86emu *emu, int op)
5116 common_bitstring(struct x86emu *emu, int op)
5125 common_bitsearch32(struct x86emu *emu, int diff)
5140 common_bitsearch16(struct x86emu *emu, int diff)
5155 common_bitsearch(struct x86emu *emu, int diff)
5164 common_shift32(struct x86emu *emu, int shift_left, int use_cl)
5185 common_shift16(struct x86emu *emu, int shift_left, int use_cl)
5206 common_shift(struct x86emu *emu, int shift_left, int use_cl)
5225 x86emuOp2_rdtsc(struct x86emu *emu)
5236 x86emuOp2_push_FS(struct x86emu *emu)
5246 x86emuOp2_pop_FS(struct x86emu *emu)
5267 x86emuOp2_cpuid(struct x86emu *emu)
5304 x86emuOp2_bt_R(struct x86emu *emu)
5314 x86emuOp2_shld_IMM(struct x86emu *emu)
5324 x86emuOp2_shld_CL(struct x86emu *emu)
5334 x86emuOp2_push_GS(struct x86emu *emu)
5344 x86emuOp2_pop_GS(struct x86emu *emu)
5354 x86emuOp2_bts_R(struct x86emu *emu)
5364 x86emuOp2_shrd_IMM(struct x86emu *emu)
5374 x86emuOp2_shrd_CL(struct x86emu *emu)
5384 x86emuOp2_32_imul_R_RM(struct x86emu *emu)
5404 x86emuOp2_16_imul_R_RM(struct x86emu *emu)
5424 x86emuOp2_imul_R_RM(struct x86emu *emu)
5437 x86emuOp2_lss_R_IMM(struct x86emu *emu)
5447 x86emuOp2_btr_R(struct x86emu *emu)
5457 x86emuOp2_lfs_R_IMM(struct x86emu *emu)
5467 x86emuOp2_lgs_R_IMM(struct x86emu *emu)
5477 x86emuOp2_32_movzx_byte_R_RM(struct x86emu *emu)
5487 x86emuOp2_16_movzx_byte_R_RM(struct x86emu *emu)
5497 x86emuOp2_movzx_byte_R_RM(struct x86emu *emu)
5510 x86emuOp2_movzx_word_R_RM(struct x86emu *emu)
5524 x86emuOp2_32_btX_I(struct x86emu *emu)
5553 x86emuOp2_16_btX_I(struct x86emu *emu)
5582 x86emuOp2_btX_I(struct x86emu *emu)
5595 x86emuOp2_btc_R(struct x86emu *emu)
5605 x86emuOp2_bsf(struct x86emu *emu)
5615 x86emuOp2_bsr(struct x86emu *emu)
5625 x86emuOp2_32_movsx_byte_R_RM(struct x86emu *emu)
5635 x86emuOp2_16_movsx_byte_R_RM(struct x86emu *emu)
5645 x86emuOp2_movsx_byte_R_RM(struct x86emu *emu)
5658 x86emuOp2_movsx_word_R_RM(struct x86emu *emu)
5668 x86emu_exec_two_byte(struct x86emu * emu)
5985 aaa_word(struct x86emu *emu, uint16_t d)
6009 aas_word(struct x86emu *emu, uint16_t d)
6033 aad_word(struct x86emu *emu, uint16_t d)
6056 aam_word(struct x86emu *emu, uint8_t d)
6078 adc_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6105 adc_word(struct x86emu *emu, uint16_t d, uint16_t s)
6132 adc_long(struct x86emu *emu, uint32_t d, uint32_t s)
6165 add_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6188 add_word(struct x86emu *emu, uint16_t d, uint16_t s)
6211 add_long(struct x86emu *emu, uint32_t d, uint32_t s)
6240 and_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6261 and_word(struct x86emu *emu, uint16_t d, uint16_t s)
6282 and_long(struct x86emu *emu, uint32_t d, uint32_t s)
6303 cmp_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6323 cmp_byte_no_return(struct x86emu *emu, uint8_t d, uint8_t s)
6333 cmp_word(struct x86emu *emu, uint16_t d, uint16_t s)
6352 cmp_word_no_return(struct x86emu *emu, uint16_t d, uint16_t s)
6362 cmp_long(struct x86emu *emu, uint32_t d, uint32_t s)
6381 cmp_long_no_return(struct x86emu *emu, uint32_t d, uint32_t s)
6391 daa_byte(struct x86emu *emu, uint8_t d)
6413 das_byte(struct x86emu *emu, uint8_t d)
6434 dec_byte(struct x86emu *emu, uint8_t d)
6458 dec_word(struct x86emu *emu, uint16_t d)
6482 dec_long(struct x86emu *emu, uint32_t d)
6506 inc_byte(struct x86emu *emu, uint8_t d)
6528 inc_word(struct x86emu *emu, uint16_t d)
6550 inc_long(struct x86emu *emu, uint32_t d)
6572 or_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6591 or_word(struct x86emu *emu, uint16_t d, uint16_t s)
6611 or_long(struct x86emu *emu, uint32_t d, uint32_t s)
6632 neg_byte(struct x86emu *emu, uint8_t s)
6658 neg_word(struct x86emu *emu, uint16_t s)
6685 neg_long(struct x86emu *emu, uint32_t s)
6712 rcl_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6783 rcl_word(struct x86emu *emu, uint16_t d, uint8_t s)
6808 rcl_long(struct x86emu *emu, uint32_t d, uint8_t s)
6833 rcr_byte(struct x86emu *emu, uint8_t d, uint8_t s)
6911 rcr_word(struct x86emu *emu, uint16_t d, uint8_t s)
6944 rcr_long(struct x86emu *emu, uint32_t d, uint8_t s)
6978 rol_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7025 rol_word(struct x86emu *emu, uint16_t d, uint8_t s)
7051 rol_long(struct x86emu *emu, uint32_t d, uint8_t s)
7077 ror_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7121 ror_word(struct x86emu *emu, uint16_t d, uint8_t s)
7145 ror_long(struct x86emu *emu, uint32_t d, uint8_t s)
7169 shl_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7214 shl_word(struct x86emu *emu, uint16_t d, uint8_t s)
7255 shl_long(struct x86emu *emu, uint32_t d, uint8_t s)
7293 shr_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7331 shr_word(struct x86emu *emu, uint16_t d, uint8_t s)
7369 shr_long(struct x86emu *emu, uint32_t d, uint8_t s)
7406 sar_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7447 sar_word(struct x86emu *emu, uint16_t d, uint8_t s)
7488 sar_long(struct x86emu *emu, uint32_t d, uint8_t s)
7529 shld_word(struct x86emu *emu, uint16_t d, uint16_t fill, uint8_t s)
7567 shld_long(struct x86emu *emu, uint32_t d, uint32_t fill, uint8_t s)
7605 shrd_word(struct x86emu *emu, uint16_t d, uint16_t fill, uint8_t s)
7643 shrd_long(struct x86emu *emu, uint32_t d, uint32_t fill, uint8_t s)
7680 sbb_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7706 sbb_word(struct x86emu *emu, uint16_t d, uint16_t s)
7732 sbb_long(struct x86emu *emu, uint32_t d, uint32_t s)
7758 sub_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7781 sub_word(struct x86emu *emu, uint16_t d, uint16_t s)
7804 sub_long(struct x86emu *emu, uint32_t d, uint32_t s)
7827 test_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7846 test_word(struct x86emu *emu, uint16_t d, uint16_t s)
7865 test_long(struct x86emu *emu, uint32_t d, uint32_t s)
7884 xor_byte(struct x86emu *emu, uint8_t d, uint8_t s)
7903 xor_word(struct x86emu *emu, uint16_t d, uint16_t s)
7922 xor_long(struct x86emu *emu, uint32_t d, uint32_t s)
7941 imul_byte(struct x86emu *emu, uint8_t s)
7961 imul_word(struct x86emu *emu, uint16_t s)
7982 imul_long(struct x86emu *emu, uint32_t s)
8004 mul_byte(struct x86emu *emu, uint8_t s)
8023 mul_word(struct x86emu *emu, uint16_t s)
8043 mul_long(struct x86emu *emu, uint32_t s)
8064 idiv_byte(struct x86emu *emu, uint8_t s)
8088 idiv_word(struct x86emu *emu, uint16_t s)
8117 idiv_long(struct x86emu *emu, uint32_t s)
8147 div_byte(struct x86emu *emu, uint8_t s)
8171 div_word(struct x86emu *emu, uint16_t s)
8200 div_long(struct x86emu *emu, uint32_t s)
8230 ins(struct x86emu *emu, int size)
8295 outs(struct x86emu *emu, int size)
8365 push_word(struct x86emu *emu, uint16_t w)
8378 push_long(struct x86emu *emu, uint32_t w)
8391 pop_word(struct x86emu *emu)
8407 pop_long(struct x86emu *emu)