Home | History | Annotate | Download | only in libx86emu

Lines Matching refs:X86EMU

2 /*	$NetBSD: x86emu.c,v 1.14 2022/11/01 19:45:35 andvar Exp $	*/
39 #include <x86emu/x86emu.h>
40 #include <x86emu/x86emu_regs.h>
42 static void x86emu_intr_raise (struct X86EMU *, uint8_t type);
44 static void X86EMU_exec_one_byte(struct X86EMU *);
45 static void X86EMU_exec_two_byte(struct X86EMU *);
47 static void fetch_decode_modrm (struct X86EMU *);
48 static uint8_t fetch_byte_imm (struct X86EMU *);
49 static uint16_t fetch_word_imm (struct X86EMU *);
50 static uint32_t fetch_long_imm (struct X86EMU *);
51 static uint8_t fetch_data_byte (struct X86EMU *, uint32_t offset);
52 static uint8_t fetch_byte (struct X86EMU *, uint segment, uint32_t offset);
53 static uint16_t fetch_data_word (struct X86EMU *, uint32_t offset);
54 static uint16_t fetch_word (struct X86EMU *, uint32_t segment, uint32_t offset);
55 static uint32_t fetch_data_long (struct X86EMU *, uint32_t offset);
56 static uint32_t fetch_long (struct X86EMU *, uint32_t segment, uint32_t offset);
57 static void store_data_byte (struct X86EMU *, uint32_t offset, uint8_t val);
58 static void store_byte (struct X86EMU *, uint32_t segment, uint32_t offset, uint8_t val);
59 static void store_data_word (struct X86EMU *, uint32_t offset, uint16_t val);
60 static void store_word (struct X86EMU *, uint32_t segment, uint32_t offset, uint16_t val);
61 static void store_data_long (struct X86EMU *, uint32_t offset, uint32_t val);
62 static void store_long (struct X86EMU *, uint32_t segment, uint32_t offset, uint32_t val);
63 static uint8_t* decode_rl_byte_register(struct X86EMU *);
64 static uint16_t* decode_rl_word_register(struct X86EMU *);
65 static uint32_t* decode_rl_long_register(struct X86EMU *);
66 static uint8_t* decode_rh_byte_register(struct X86EMU *);
67 static uint16_t* decode_rh_word_register(struct X86EMU *);
68 static uint32_t* decode_rh_long_register(struct X86EMU *);
69 static uint16_t* decode_rh_seg_register(struct X86EMU *);
70 static uint32_t decode_rl_address(struct X86EMU *);
72 static uint8_t decode_and_fetch_byte(struct X86EMU *);
73 static uint16_t decode_and_fetch_word(struct X86EMU *);
74 static uint32_t decode_and_fetch_long(struct X86EMU *);
76 static uint8_t decode_and_fetch_byte_imm8(struct X86EMU *, uint8_t *);
77 static uint16_t decode_and_fetch_word_imm8(struct X86EMU *, uint8_t *);
78 static uint32_t decode_and_fetch_long_imm8(struct X86EMU *, uint8_t *);
80 static uint16_t decode_and_fetch_word_disp(struct X86EMU *, int16_t);
81 static uint32_t decode_and_fetch_long_disp(struct X86EMU *, int16_t);
83 static void write_back_byte(struct X86EMU *, uint8_t);
84 static void write_back_word(struct X86EMU *, uint16_t);
85 static void write_back_long(struct X86EMU *, uint32_t);
87 static uint16_t aaa_word (struct X86EMU *, uint16_t d);
88 static uint16_t aas_word (struct X86EMU *, uint16_t d);
89 static uint16_t aad_word (struct X86EMU *, uint16_t d);
90 static uint16_t aam_word (struct X86EMU *, uint8_t d);
91 static uint8_t adc_byte (struct X86EMU *, uint8_t d, uint8_t s);
92 static uint16_t adc_word (struct X86EMU *, uint16_t d, uint16_t s);
93 static uint32_t adc_long (struct X86EMU *, uint32_t d, uint32_t s);
94 static uint8_t add_byte (struct X86EMU *, uint8_t d, uint8_t s);
95 static uint16_t add_word (struct X86EMU *, uint16_t d, uint16_t s);
96 static uint32_t add_long (struct X86EMU *, uint32_t d, uint32_t s);
97 static uint8_t and_byte (struct X86EMU *, uint8_t d, uint8_t s);
98 static uint16_t and_word (struct X86EMU *, uint16_t d, uint16_t s);
99 static uint32_t and_long (struct X86EMU *, uint32_t d, uint32_t s);
100 static uint8_t cmp_byte (struct X86EMU *, uint8_t d, uint8_t s);
101 static uint16_t cmp_word (struct X86EMU *, uint16_t d, uint16_t s);
102 static uint32_t cmp_long (struct X86EMU *, uint32_t d, uint32_t s);
103 static void cmp_byte_no_return (struct X86EMU *, uint8_t d, uint8_t s);
104 static void cmp_word_no_return (struct X86EMU *, uint16_t d, uint16_t s);
105 static void cmp_long_no_return (struct X86EMU *, uint32_t d, uint32_t s);
106 static uint8_t daa_byte (struct X86EMU *, uint8_t d);
107 static uint8_t das_byte (struct X86EMU *, uint8_t d);
108 static uint8_t dec_byte (struct X86EMU *, uint8_t d);
109 static uint16_t dec_word (struct X86EMU *, uint16_t d);
110 static uint32_t dec_long (struct X86EMU *, uint32_t d);
111 static uint8_t inc_byte (struct X86EMU *, uint8_t d);
112 static uint16_t inc_word (struct X86EMU *, uint16_t d);
113 static uint32_t inc_long (struct X86EMU *, uint32_t d);
114 static uint8_t or_byte (struct X86EMU *, uint8_t d, uint8_t s);
115 static uint16_t or_word (struct X86EMU *, uint16_t d, uint16_t s);
116 static uint32_t or_long (struct X86EMU *, uint32_t d, uint32_t s);
117 static uint8_t neg_byte (struct X86EMU *, uint8_t s);
118 static uint16_t neg_word (struct X86EMU *, uint16_t s);
119 static uint32_t neg_long (struct X86EMU *, uint32_t s);
120 static uint8_t rcl_byte (struct X86EMU *, uint8_t d, uint8_t s);
121 static uint16_t rcl_word (struct X86EMU *, uint16_t d, uint8_t s);
122 static uint32_t rcl_long (struct X86EMU *, uint32_t d, uint8_t s);
123 static uint8_t rcr_byte (struct X86EMU *, uint8_t d, uint8_t s);
124 static uint16_t rcr_word (struct X86EMU *, uint16_t d, uint8_t s);
125 static uint32_t rcr_long (struct X86EMU *, uint32_t d, uint8_t s);
126 static uint8_t rol_byte (struct X86EMU *, uint8_t d, uint8_t s);
127 static uint16_t rol_word (struct X86EMU *, uint16_t d, uint8_t s);
128 static uint32_t rol_long (struct X86EMU *, uint32_t d, uint8_t s);
129 static uint8_t ror_byte (struct X86EMU *, uint8_t d, uint8_t s);
130 static uint16_t ror_word (struct X86EMU *, uint16_t d, uint8_t s);
131 static uint32_t ror_long (struct X86EMU *, uint32_t d, uint8_t s);
132 static uint8_t shl_byte (struct X86EMU *, uint8_t d, uint8_t s);
133 static uint16_t shl_word (struct X86EMU *, uint16_t d, uint8_t s);
134 static uint32_t shl_long (struct X86EMU *, uint32_t d, uint8_t s);
135 static uint8_t shr_byte (struct X86EMU *, uint8_t d, uint8_t s);
136 static uint16_t shr_word (struct X86EMU *, uint16_t d, uint8_t s);
137 static uint32_t shr_long (struct X86EMU *, uint32_t d, uint8_t s);
138 static uint8_t sar_byte (struct X86EMU *, uint8_t d, uint8_t s);
139 static uint16_t sar_word (struct X86EMU *, uint16_t d, uint8_t s);
140 static uint32_t sar_long (struct X86EMU *, uint32_t d, uint8_t s);
141 static uint16_t shld_word (struct X86EMU *, uint16_t d, uint16_t fill, uint8_t s);
142 static uint32_t shld_long (struct X86EMU *, uint32_t d, uint32_t fill, uint8_t s);
143 static uint16_t shrd_word (struct X86EMU *, uint16_t d, uint16_t fill, uint8_t s);
144 static uint32_t shrd_long (struct X86EMU *, uint32_t d, uint32_t fill, uint8_t s);
145 static uint8_t sbb_byte (struct X86EMU *, uint8_t d, uint8_t s);
146 static uint16_t sbb_word (struct X86EMU *, uint16_t d, uint16_t s);
147 static uint32_t sbb_long (struct X86EMU *, uint32_t d, uint32_t s);
148 static uint8_t sub_byte (struct X86EMU *, uint8_t d, uint8_t s);
149 static uint16_t sub_word (struct X86EMU *, uint16_t d, uint16_t s);
150 static uint32_t sub_long (struct X86EMU *, uint32_t d, uint32_t s);
151 static void test_byte (struct X86EMU *, uint8_t d, uint8_t s);
152 static void test_word (struct X86EMU *, uint16_t d, uint16_t s);
153 static void test_long (struct X86EMU *, uint32_t d, uint32_t s);
154 static uint8_t xor_byte (struct X86EMU *, uint8_t d, uint8_t s);
155 static uint16_t xor_word (struct X86EMU *, uint16_t d, uint16_t s);
156 static uint32_t xor_long (struct X86EMU *, uint32_t d, uint32_t s);
157 static void imul_byte (struct X86EMU *, uint8_t s);
158 static void imul_word (struct X86EMU *, uint16_t s);
159 static void imul_long (struct X86EMU *, uint32_t s);
160 static void mul_byte (struct X86EMU *, uint8_t s);
161 static void mul_word (struct X86EMU *, uint16_t s);
162 static void mul_long (struct X86EMU *, uint32_t s);
163 static void idiv_byte (struct X86EMU *, uint8_t s);
164 static void idiv_word (struct X86EMU *, uint16_t s);
165 static void idiv_long (struct X86EMU *, uint32_t s);
166 static void div_byte (struct X86EMU *, uint8_t s);
167 static void div_word (struct X86EMU *, uint16_t s);
168 static void div_long (struct X86EMU *, uint32_t s);
169 static void ins (struct X86EMU *, int size);
170 static void outs (struct X86EMU *, int size);
171 static void push_word (struct X86EMU *, uint16_t w);
172 static void push_long (struct X86EMU *, uint32_t w);
173 static uint16_t pop_word (struct X86EMU *);
174 static uint32_t pop_long (struct X86EMU *);
181 x86emu_intr_dispatch(struct X86EMU *emu, uint8_t intno)
197 x86emu_intr_handle(struct X86EMU *emu)
216 x86emu_intr_raise(struct X86EMU *emu, uint8_t intrnum)
228 X86EMU_exec(struct X86EMU *emu)
255 X86EMU_exec_call(struct X86EMU *emu, uint16_t seg, uint16_t off)
266 X86EMU_exec_intr(struct X86EMU *emu, uint8_t intr)
284 X86EMU_halt_sys(struct X86EMU *emu)
305 fetch_decode_modrm(struct X86EMU *emu)
325 fetch_byte_imm(struct X86EMU *emu)
344 fetch_word_imm(struct X86EMU *emu)
363 fetch_long_imm(struct X86EMU *emu)
401 get_data_segment(struct X86EMU *emu)
438 fetch_data_byte(struct X86EMU *emu, uint32_t offset)
452 fetch_data_word(struct X86EMU *emu, uint32_t offset)
466 fetch_data_long(struct X86EMU *emu, uint32_t offset)
481 fetch_byte(struct X86EMU *emu, uint32_t segment, uint32_t offset)
496 fetch_word(struct X86EMU *emu, uint32_t segment, uint32_t offset)
511 fetch_long(struct X86EMU *emu, uint32_t segment, uint32_t offset)
527 store_data_byte(struct X86EMU *emu, uint32_t offset, uint8_t val)
543 store_data_word(struct X86EMU *emu, uint32_t offset, uint16_t val)
559 store_data_long(struct X86EMU *emu, uint32_t offset, uint32_t val)
575 store_byte(struct X86EMU *emu, uint32_t segment, uint32_t offset, uint8_t val)
591 store_word(struct X86EMU *emu, uint32_t segment, uint32_t offset, uint16_t val)
607 store_long(struct X86EMU *emu, uint32_t segment, uint32_t offset, uint32_t val)
623 decode_rm_byte_register(struct X86EMU *emu, int reg)
648 decode_rl_byte_register(struct X86EMU *emu)
654 decode_rh_byte_register(struct X86EMU *emu)
670 decode_rm_word_register(struct X86EMU *emu, int reg)
695 decode_rl_word_register(struct X86EMU *emu)
701 decode_rh_word_register(struct X86EMU *emu)
717 decode_rm_long_register(struct X86EMU *emu, int reg)
742 decode_rl_long_register(struct X86EMU *emu)
748 decode_rh_long_register(struct X86EMU *emu)
766 decode_rh_seg_register(struct X86EMU *emu)
790 decode_sib_address(struct X86EMU *emu, int sib, int mod)
867 decode_rl_address(struct X86EMU *emu)
959 decode_and_fetch_byte(struct X86EMU *emu)
970 decode_and_fetch_word_disp(struct X86EMU *emu, int16_t disp)
984 decode_and_fetch_long_disp(struct X86EMU *emu, int16_t disp)
998 decode_and_fetch_word(struct X86EMU *emu)
1004 decode_and_fetch_long(struct X86EMU *emu)
1010 decode_and_fetch_byte_imm8(struct X86EMU *emu, uint8_t *imm)
1023 decode_and_fetch_word_imm8(struct X86EMU *emu, uint8_t *imm)
1036 decode_and_fetch_long_imm8(struct X86EMU *emu, uint8_t *imm)
1049 write_back_byte(struct X86EMU *emu, uint8_t val)
1058 write_back_word(struct X86EMU *emu, uint16_t val)
1067 write_back_long(struct X86EMU *emu, uint32_t val)
1076 common_inc_word_long(struct X86EMU *emu, union X86EMU_register *reg)
1085 common_dec_word_long(struct X86EMU *emu, union X86EMU_register *reg)
1094 common_binop_byte_rm_r(struct X86EMU *emu, uint8_t (*binop)(struct X86EMU *, uint8_t, uint8_t))
1114 common_binop_ns_byte_rm_r(struct X86EMU *emu, void (*binop)(struct X86EMU *, uint8_t, uint8_t))
1131 common_binop_word_rm_r(struct X86EMU *emu, uint16_t (*binop)(struct X86EMU *, uint16_t, uint16_t))
1150 common_binop_byte_r_rm(struct X86EMU *emu, uint8_t (*binop)(struct X86EMU *, uint8_t, uint8_t))
1167 common_binop_long_rm_r(struct X86EMU *emu, uint32_t (*binop)(struct X86EMU *, uint32_t, uint32_t))
1186 common_binop_word_long_rm_r(struct X86EMU *emu,
1187 uint16_t (*binop16)(struct X86EMU *, uint16_t, uint16_t), uint32_t (*binop32)(struct X86EMU *, uint32_t, uint32_t))
1196 common_binop_ns_word_rm_r(struct X86EMU *emu, void (*binop)(struct X86EMU *, uint16_t, uint16_t))
1214 common_binop_ns_long_rm_r(struct X86EMU *emu, void (*binop)(struct X86EMU *, uint32_t, uint32_t))
1231 common_binop_ns_word_long_rm_r(struct X86EMU *emu,
1232 void (*binop16)(struct X86EMU *, uint16_t, uint16_t), void (*binop32)(struct X86EMU *, uint32_t, uint32_t))
1241 common_binop_long_r_rm(struct X86EMU *emu, uint32_t (*binop)(struct X86EMU *, uint32_t, uint32_t))
1258 common_binop_word_r_rm(struct X86EMU *emu, uint16_t (*binop)(struct X86EMU *, uint16_t, uint16_t))
1275 common_binop_word_long_r_rm(struct X86EMU *emu,
1276 uint16_t (*binop16)(struct X86EMU *, uint16_t, uint16_t), uint32_t (*binop32)(struct X86EMU *, uint32_t, uint32_t))
1285 common_binop_byte_imm(struct X86EMU *emu, uint8_t (*binop)(struct X86EMU *, uint8_t, uint8_t))
1294 common_binop_word_long_imm(struct X86EMU *emu,
1295 uint16_t (*binop16)(struct X86EMU *, uint16_t, uint16_t), uint32_t (*binop32)(struct X86EMU *, uint32_t, uint32_t))
1311 common_push_word_long(struct X86EMU *emu, union X86EMU_register *reg)
1320 common_pop_word_long(struct X86EMU *emu, union X86EMU_register *reg)
1329 common_imul_long_IMM(struct X86EMU *emu, bool byte_imm)
1362 common_imul_word_IMM(struct X86EMU *emu, bool byte_imm)
1395 common_imul_imm(struct X86EMU *emu, bool byte_imm)
1404 common_jmp_near(struct X86EMU *emu, bool cond)
1416 common_load_far_pointer(struct X86EMU *emu, uint16_t *seg)
1437 x86emuOp_cmp_byte_R_RM(struct X86EMU *emu)
1451 x86emuOp32_cmp_word_R_RM(struct X86EMU *emu)
1462 x86emuOp16_cmp_word_R_RM(struct X86EMU *emu)
1473 x86emuOp_cmp_word_R_RM(struct X86EMU *emu)
1485 x86emuOp_cmp_byte_AL_IMM(struct X86EMU *emu)
1497 x86emuOp32_cmp_word_AX_IMM(struct X86EMU *emu)
1506 x86emuOp16_cmp_word_AX_IMM(struct X86EMU *emu)
1515 x86emuOp_cmp_word_AX_IMM(struct X86EMU *emu)
1527 x86emuOp_push_all(struct X86EMU *emu)
1558 x86emuOp_pop_all(struct X86EMU *emu)
1588 x86emuOp_push_word_IMM(struct X86EMU *emu)
1607 x86emuOp_push_byte_IMM(struct X86EMU *emu)
1627 x86emuOp_ins_word(struct X86EMU *emu)
1640 x86emuOp_outs_word(struct X86EMU *emu)
1653 x86emuOp_jump_near_L(struct X86EMU *emu)
1667 x86emuOp_jump_near_NL(struct X86EMU *emu)
1681 x86emuOp_jump_near_LE(struct X86EMU *emu)
1695 x86emuOp_jump_near_NLE(struct X86EMU *emu)
1706 uint8_t(*const opc80_byte_operation[]) (struct X86EMU *, uint8_t d, uint8_t s) =
1722 x86emuOp_opc80_byte_RM_IMM(struct X86EMU *emu)
1740 uint16_t(* const opc81_word_operation[]) (struct X86EMU *, uint16_t d, uint16_t s) =
1753 uint32_t(* const opc81_long_operation[]) (struct X86EMU *, uint32_t d, uint32_t s) =
1769 x86emuOp32_opc81_word_RM_IMM(struct X86EMU *emu)
1787 x86emuOp16_opc81_word_RM_IMM(struct X86EMU *emu)
1805 x86emuOp_opc81_word_RM_IMM(struct X86EMU *emu)
1814 uint8_t(* const opc82_byte_operation[]) (struct X86EMU *, uint8_t s, uint8_t d) =
1830 x86emuOp_opc82_byte_RM_IMM(struct X86EMU *emu)
1849 uint16_t(* const opc83_word_operation[]) (struct X86EMU *, uint16_t s, uint16_t d) =
1862 uint32_t(* const opc83_long_operation[]) (struct X86EMU *, uint32_t s, uint32_t d) =
1878 x86emuOp32_opc83_word_RM_IMM(struct X86EMU *emu)
1891 x86emuOp16_opc83_word_RM_IMM(struct X86EMU *emu)
1904 x86emuOp_opc83_word_RM_IMM(struct X86EMU *emu)
1916 x86emuOp_xchg_byte_RM_R(struct X86EMU *emu)
1933 x86emuOp32_xchg_word_RM_R(struct X86EMU *emu)
1947 x86emuOp16_xchg_word_RM_R(struct X86EMU *emu)
1961 x86emuOp_xchg_word_RM_R(struct X86EMU *emu)
1973 x86emuOp_mov_byte_RM_R(struct X86EMU *emu)
1993 x86emuOp32_mov_word_RM_R(struct X86EMU *emu)
2010 x86emuOp16_mov_word_RM_R(struct X86EMU *emu)
2027 x86emuOp_mov_word_RM_R(struct X86EMU *emu)
2039 x86emuOp_mov_byte_R_RM(struct X86EMU *emu)
2052 x86emuOp_mov_word_R_RM(struct X86EMU *emu)
2073 x86emuOp_mov_word_RM_SR(struct X86EMU *emu)
2093 x86emuOp_lea_word_R_M(struct X86EMU *emu)
2119 x86emuOp_mov_word_SR_RM(struct X86EMU *emu)
2138 x86emuOp32_pop_RM(struct X86EMU *emu)
2155 x86emuOp16_pop_RM(struct X86EMU *emu)
2172 x86emuOp_pop_RM(struct X86EMU *emu)
2184 x86emuOp_xchg_word_AX_CX(struct X86EMU *emu)
2203 x86emuOp_xchg_word_AX_DX(struct X86EMU *emu)
2222 x86emuOp_xchg_word_AX_BX(struct X86EMU *emu)
2241 x86emuOp_xchg_word_AX_SP(struct X86EMU *emu)
2260 x86emuOp_xchg_word_AX_BP(struct X86EMU *emu)
2279 x86emuOp_xchg_word_AX_SI(struct X86EMU *emu)
2298 x86emuOp_xchg_word_AX_DI(struct X86EMU *emu)
2317 x86emuOp_cbw(struct X86EMU *emu)
2338 x86emuOp_cwd(struct X86EMU *emu)
2359 x86emuOp_call_far_IMM(struct X86EMU *emu)
2380 x86emuOp_pushf_word(struct X86EMU *emu)
2397 x86emuOp_popf_word(struct X86EMU *emu)
2410 x86emuOp_sahf(struct X86EMU *emu)
2422 x86emuOp_lahf(struct X86EMU *emu)
2434 x86emuOp_mov_AL_M_IMM(struct X86EMU *emu)
2446 x86emuOp_mov_AX_M_IMM(struct X86EMU *emu)
2462 x86emuOp_mov_M_AL_IMM(struct X86EMU *emu)
2474 x86emuOp_mov_M_AX_IMM(struct X86EMU *emu)
2490 x86emuOp_movs_byte(struct X86EMU *emu)
2520 x86emuOp_movs_word(struct X86EMU *emu)
2559 x86emuOp_cmps_byte(struct X86EMU *emu)
2610 x86emuOp_cmps_word(struct X86EMU *emu)
2685 x86emuOp_test_AX_IMM(struct X86EMU *emu)
2698 x86emuOp_stos_byte(struct X86EMU *emu)
2725 x86emuOp_stos_word(struct X86EMU *emu)
2760 x86emuOp_lods_byte(struct X86EMU *emu)
2787 x86emuOp_lods_word(struct X86EMU *emu)
2822 x86emuOp_scas_byte(struct X86EMU *emu)
2866 x86emuOp_scas_word(struct X86EMU *emu)
2929 x86emuOp_mov_word_AX_IMM(struct X86EMU *emu)
2941 x86emuOp_mov_word_CX_IMM(struct X86EMU *emu)
2953 x86emuOp_mov_word_DX_IMM(struct X86EMU *emu)
2965 x86emuOp_mov_word_BX_IMM(struct X86EMU *emu)
2977 x86emuOp_mov_word_SP_IMM(struct X86EMU *emu)
2989 x86emuOp_mov_word_BP_IMM(struct X86EMU *emu)
3001 x86emuOp_mov_word_SI_IMM(struct X86EMU *emu)
3013 x86emuOp_mov_word_DI_IMM(struct X86EMU *emu)
3022 uint8_t(* const opcD0_byte_operation[]) (struct X86EMU *, uint8_t d, uint8_t s) =
3038 x86emuOp_opcC0_byte_RM_MEM(struct X86EMU *emu)
3055 uint16_t(* const opcD1_word_operation[]) (struct X86EMU *, uint16_t s, uint8_t d) =
3068 uint32_t(* const opcD1_long_operation[]) (struct X86EMU *, uint32_t s, uint8_t d) =
3084 x86emuOp_opcC1_word_RM_MEM(struct X86EMU *emu)
3113 x86emuOp_ret_near_IMM(struct X86EMU *emu)
3126 x86emuOp_mov_byte_RM_IMM(struct X86EMU *emu)
3150 x86emuOp32_mov_word_RM_IMM(struct X86EMU *emu)
3171 x86emuOp16_mov_word_RM_IMM(struct X86EMU *emu)
3192 x86emuOp_mov_word_RM_IMM(struct X86EMU *emu)
3204 x86emuOp_enter(struct X86EMU *emu)
3229 x86emuOp_leave(struct X86EMU *emu)
3239 x86emuOp_ret_far_IMM(struct X86EMU *emu)
3253 x86emuOp_ret_far(struct X86EMU *emu)
3263 x86emuOp_int3(struct X86EMU *emu)
3272 x86emuOp_int_IMM(struct X86EMU *emu)
3284 x86emuOp_into(struct X86EMU *emu)
3294 x86emuOp_iret(struct X86EMU *emu)
3305 x86emuOp_opcD0_byte_RM_1(struct X86EMU *emu)
3319 x86emuOp_opcD1_word_RM_1(struct X86EMU *emu)
3342 x86emuOp_opcD2_byte_RM_CL(struct X86EMU *emu)
3356 x86emuOp_opcD3_word_RM_CL(struct X86EMU *emu)
3379 x86emuOp_aam(struct X86EMU *emu)
3396 x86emuOp_aad(struct X86EMU *emu)
3414 x86emuOp_xlat(struct X86EMU *emu)
3424 x86emuOp_esc_coprocess_d8(struct X86EMU *emu)
3429 x86emuOp_esc_coprocess_d9(struct X86EMU *emu)
3437 x86emuOp_esc_coprocess_da(struct X86EMU *emu)
3445 x86emuOp_esc_coprocess_db(struct X86EMU *emu)
3453 x86emuOp_esc_coprocess_dc(struct X86EMU *emu)
3461 x86emuOp_esc_coprocess_dd(struct X86EMU *emu)
3469 x86emuOp_esc_coprocess_de(struct X86EMU *emu)
3477 x86emuOp_esc_coprocess_df(struct X86EMU *emu)
3489 x86emuOp_loopne(struct X86EMU *emu)
3504 x86emuOp_loope(struct X86EMU *emu)
3519 x86emuOp_loop(struct X86EMU *emu)
3534 x86emuOp_jcxz(struct X86EMU *emu)
3550 x86emuOp_in_byte_AL_IMM(struct X86EMU *emu)
3562 x86emuOp_in_word_AX_IMM(struct X86EMU *emu)
3578 x86emuOp_out_byte_IMM_AL(struct X86EMU *emu)
3590 x86emuOp_out_word_IMM_AX(struct X86EMU *emu)
3606 x86emuOp_call_near_IMM(struct X86EMU *emu)
3627 x86emuOp_jump_near_IMM(struct X86EMU *emu)
3640 x86emuOp_jump_far_IMM(struct X86EMU *emu)
3654 x86emuOp_jump_byte_IMM(struct X86EMU *emu)
3668 x86emuOp_in_byte_AL_DX(struct X86EMU *emu)
3677 x86emuOp_in_word_AX_DX(struct X86EMU *emu)
3690 x86emuOp_out_byte_DX_AL(struct X86EMU *emu)
3699 x86emuOp_out_word_DX_AX(struct X86EMU *emu)
3712 x86emuOp_lock(struct X86EMU *emu)
3722 x86emuOp_cmc(struct X86EMU *emu)
3734 x86emuOp_opcF6_byte_RM(struct X86EMU *emu)
3778 x86emuOp32_opcF7_word_RM(struct X86EMU *emu)
3827 x86emuOp16_opcF7_word_RM(struct X86EMU *emu)
3876 x86emuOp_opcF7_word_RM(struct X86EMU *emu)
3888 x86emuOp_opcFE_byte_RM(struct X86EMU *emu)
3927 x86emuOp32_opcFF_word_RM(struct X86EMU *emu)
3965 x86emuOp16_opcFF_word_RM(struct X86EMU *emu)
4004 x86emuOp_opcFF_word_RM(struct X86EMU *emu)
4056 X86EMU_exec_one_byte(struct X86EMU * emu)
4862 common_jmp_long(struct X86EMU *emu, bool cond)
4873 common_set_byte(struct X86EMU *emu, bool cond)
4890 common_bitstring32(struct X86EMU *emu, int op)
4918 common_bitstring16(struct X86EMU *emu, int op)
4946 common_bitstring(struct X86EMU *emu, int op)
4955 common_bitsearch32(struct X86EMU *emu, int diff)
4970 common_bitsearch16(struct X86EMU *emu, int diff)
4985 common_bitsearch(struct X86EMU *emu, int diff)
4994 common_shift32(struct X86EMU *emu, bool shift_left, bool use_cl)
5015 common_shift16(struct X86EMU *emu, bool shift_left, bool use_cl)
5036 common_shift(struct X86EMU *emu, bool shift_left, bool use_cl)
5052 x86emuOp2_rdtsc(struct X86EMU *emu)
5062 x86emuOp2_push_FS(struct X86EMU *emu)
5071 x86emuOp2_pop_FS(struct X86EMU *emu)
5091 x86emuOp2_cpuid(struct X86EMU *emu)
5127 x86emuOp2_bt_R(struct X86EMU *emu)
5136 x86emuOp2_shld_IMM(struct X86EMU *emu)
5145 x86emuOp2_shld_CL(struct X86EMU *emu)
5154 x86emuOp2_push_GS(struct X86EMU *emu)
5163 x86emuOp2_pop_GS(struct X86EMU *emu)
5172 x86emuOp2_bts_R(struct X86EMU *emu)
5181 x86emuOp2_shrd_IMM(struct X86EMU *emu)
5190 x86emuOp2_shrd_CL(struct X86EMU *emu)
5199 x86emuOp2_32_imul_R_RM(struct X86EMU *emu)
5219 x86emuOp2_16_imul_R_RM(struct X86EMU *emu)
5239 x86emuOp2_imul_R_RM(struct X86EMU *emu)
5251 x86emuOp2_lss_R_IMM(struct X86EMU *emu)
5260 x86emuOp2_btr_R(struct X86EMU *emu)
5269 x86emuOp2_lfs_R_IMM(struct X86EMU *emu)
5278 x86emuOp2_lgs_R_IMM(struct X86EMU *emu)
5287 x86emuOp2_32_movzx_byte_R_RM(struct X86EMU *emu)
5297 x86emuOp2_16_movzx_byte_R_RM(struct X86EMU *emu)
5307 x86emuOp2_movzx_byte_R_RM(struct X86EMU *emu)
5319 x86emuOp2_movzx_word_R_RM(struct X86EMU *emu)
5332 x86emuOp2_32_btX_I(struct X86EMU *emu)
5361 x86emuOp2_16_btX_I(struct X86EMU *emu)
5390 x86emuOp2_btX_I(struct X86EMU *emu)
5402 x86emuOp2_btc_R(struct X86EMU *emu)
5411 x86emuOp2_bsf(struct X86EMU *emu)
5420 x86emuOp2_bsr(struct X86EMU *emu)
5429 x86emuOp2_32_movsx_byte_R_RM(struct X86EMU *emu)
5439 x86emuOp2_16_movsx_byte_R_RM(struct X86EMU *emu)
5449 x86emuOp2_movsx_byte_R_RM(struct X86EMU *emu)
5461 x86emuOp2_movsx_word_R_RM(struct X86EMU *emu)
5471 X86EMU_exec_two_byte(struct X86EMU * emu)
5780 aaa_word(struct X86EMU *emu, uint16_t d)
5803 aas_word(struct X86EMU *emu, uint16_t d)
5826 aad_word(struct X86EMU *emu, uint16_t d)
5848 aam_word(struct X86EMU *emu, uint8_t d)
5869 adc_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
5895 adc_word(struct X86EMU *emu, uint16_t d, uint16_t s)
5921 adc_long(struct X86EMU *emu, uint32_t d, uint32_t s)
5953 add_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
5975 add_word(struct X86EMU *emu, uint16_t d, uint16_t s)
5997 add_long(struct X86EMU *emu, uint32_t d, uint32_t s)
6025 and_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6045 and_word(struct X86EMU *emu, uint16_t d, uint16_t s)
6065 and_long(struct X86EMU *emu, uint32_t d, uint32_t s)
6085 cmp_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6105 cmp_byte_no_return(struct X86EMU *emu, uint8_t d, uint8_t s)
6114 cmp_word(struct X86EMU *emu, uint16_t d, uint16_t s)
6133 cmp_word_no_return(struct X86EMU *emu, uint16_t d, uint16_t s)
6142 cmp_long(struct X86EMU *emu, uint32_t d, uint32_t s)
6161 cmp_long_no_return(struct X86EMU *emu, uint32_t d, uint32_t s)
6170 daa_byte(struct X86EMU *emu, uint8_t d)
6191 das_byte(struct X86EMU *emu, uint8_t d)
6211 dec_byte(struct X86EMU *emu, uint8_t d)
6234 dec_word(struct X86EMU *emu, uint16_t d)
6257 dec_long(struct X86EMU *emu, uint32_t d)
6280 inc_byte(struct X86EMU *emu, uint8_t d)
6301 inc_word(struct X86EMU *emu, uint16_t d)
6322 inc_long(struct X86EMU *emu, uint32_t d)
6343 or_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6361 or_word(struct X86EMU *emu, uint16_t d, uint16_t s)
6380 or_long(struct X86EMU *emu, uint32_t d, uint32_t s)
6400 neg_byte(struct X86EMU *emu, uint8_t s)
6425 neg_word(struct X86EMU *emu, uint16_t s)
6451 neg_long(struct X86EMU *emu, uint32_t s)
6477 rcl_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6542 rcl_word(struct X86EMU *emu, uint16_t d, uint8_t s)
6566 rcl_long(struct X86EMU *emu, uint32_t d, uint8_t s)
6590 rcr_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6664 rcr_word(struct X86EMU *emu, uint16_t d, uint8_t s)
6696 rcr_long(struct X86EMU *emu, uint32_t d, uint8_t s)
6729 rol_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6775 rol_word(struct X86EMU *emu, uint16_t d, uint8_t s)
6800 rol_long(struct X86EMU *emu, uint32_t d, uint8_t s)
6825 ror_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6868 ror_word(struct X86EMU *emu, uint16_t d, uint8_t s)
6891 ror_long(struct X86EMU *emu, uint32_t d, uint8_t s)
6914 shl_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
6958 shl_word(struct X86EMU *emu, uint16_t d, uint8_t s)
6998 shl_long(struct X86EMU *emu, uint32_t d, uint8_t s)
7035 shr_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7072 shr_word(struct X86EMU *emu, uint16_t d, uint8_t s)
7109 shr_long(struct X86EMU *emu, uint32_t d, uint8_t s)
7145 sar_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7185 sar_word(struct X86EMU *emu, uint16_t d, uint8_t s)
7225 sar_long(struct X86EMU *emu, uint32_t d, uint8_t s)
7265 shld_word(struct X86EMU *emu, uint16_t d, uint16_t fill, uint8_t s)
7302 shld_long(struct X86EMU *emu, uint32_t d, uint32_t fill, uint8_t s)
7339 shrd_word(struct X86EMU *emu, uint16_t d, uint16_t fill, uint8_t s)
7376 shrd_long(struct X86EMU *emu, uint32_t d, uint32_t fill, uint8_t s)
7412 sbb_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7437 sbb_word(struct X86EMU *emu, uint16_t d, uint16_t s)
7462 sbb_long(struct X86EMU *emu, uint32_t d, uint32_t s)
7487 sub_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7509 sub_word(struct X86EMU *emu, uint16_t d, uint16_t s)
7531 sub_long(struct X86EMU *emu, uint32_t d, uint32_t s)
7553 test_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7571 test_word(struct X86EMU *emu, uint16_t d, uint16_t s)
7589 test_long(struct X86EMU *emu, uint32_t d, uint32_t s)
7607 xor_byte(struct X86EMU *emu, uint8_t d, uint8_t s)
7625 xor_word(struct X86EMU *emu, uint16_t d, uint16_t s)
7643 xor_long(struct X86EMU *emu, uint32_t d, uint32_t s)
7661 imul_byte(struct X86EMU *emu, uint8_t s)
7680 imul_word(struct X86EMU *emu, uint16_t s)
7700 imul_long(struct X86EMU *emu, uint32_t s)
7721 mul_byte(struct X86EMU *emu, uint8_t s)
7739 mul_word(struct X86EMU *emu, uint16_t s)
7758 mul_long(struct X86EMU *emu, uint32_t s)
7778 idiv_byte(struct X86EMU *emu, uint8_t s)
7801 idiv_word(struct X86EMU *emu, uint16_t s)
7829 idiv_long(struct X86EMU *emu, uint32_t s)
7858 div_byte(struct X86EMU *emu, uint8_t s)
7881 div_word(struct X86EMU *emu, uint16_t s)
7909 div_long(struct X86EMU *emu, uint32_t s)
7938 ins(struct X86EMU *emu, int size)
8002 outs(struct X86EMU *emu, int size)
8068 push_word(struct X86EMU *emu, uint16_t w)
8080 push_long(struct X86EMU *emu, uint32_t w)
8092 pop_word(struct X86EMU *emu)
8107 pop_long(struct X86EMU *emu)