comparison gen_x86.h @ 803:236a184bf6f0

Merge
author Michael Pavone <pavone@retrodev.com>
date Sun, 26 Jul 2015 16:51:03 -0700
parents 98927f1b005b
children 07bfbbbb4b2e
comparison
equal deleted inserted replaced
802:6811f601008f 803:236a184bf6f0
34 34
35 enum { 35 enum {
36 CC_O = 0, 36 CC_O = 0,
37 CC_NO, 37 CC_NO,
38 CC_C, 38 CC_C,
39 CC_B = CC_C,
39 CC_NC, 40 CC_NC,
41 CC_NB = CC_NC,
40 CC_Z, 42 CC_Z,
41 CC_NZ, 43 CC_NZ,
42 CC_BE, 44 CC_BE,
43 CC_A, 45 CC_A,
44 CC_S, 46 CC_S,
75 MODE_REG_INDEXED_DIPSLACE32 = 0x84, 77 MODE_REG_INDEXED_DIPSLACE32 = 0x84,
76 MODE_REG_DIRECT = 0xC0, 78 MODE_REG_DIRECT = 0xC0,
77 //"phony" mode 79 //"phony" mode
78 MODE_IMMED = 0xFF 80 MODE_IMMED = 0xFF
79 } x86_modes; 81 } x86_modes;
80
81 void check_alloc_code(code_info *code, uint32_t inst_size);
82 82
83 void rol_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size); 83 void rol_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size);
84 void ror_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size); 84 void ror_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size);
85 void rcl_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size); 85 void rcl_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size);
86 void rcr_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size); 86 void rcr_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size);
184 void movzx_rdispr(code_info *code, uint8_t src, int32_t disp, uint8_t dst, uint8_t src_size, uint8_t size); 184 void movzx_rdispr(code_info *code, uint8_t src, int32_t disp, uint8_t dst, uint8_t src_size, uint8_t size);
185 void xchg_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size); 185 void xchg_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size);
186 void pushf(code_info *code); 186 void pushf(code_info *code);
187 void popf(code_info *code); 187 void popf(code_info *code);
188 void push_r(code_info *code, uint8_t reg); 188 void push_r(code_info *code, uint8_t reg);
189 void push_rdisp(code_info *code, uint8_t base, int32_t disp);
189 void pop_r(code_info *code, uint8_t reg); 190 void pop_r(code_info *code, uint8_t reg);
191 void pop_rind(code_info *code, uint8_t reg);
190 void setcc_r(code_info *code, uint8_t cc, uint8_t dst); 192 void setcc_r(code_info *code, uint8_t cc, uint8_t dst);
191 void setcc_rind(code_info *code, uint8_t cc, uint8_t dst); 193 void setcc_rind(code_info *code, uint8_t cc, uint8_t dst);
192 void setcc_rdisp(code_info *code, uint8_t cc, uint8_t dst, int32_t disp); 194 void setcc_rdisp(code_info *code, uint8_t cc, uint8_t dst, int32_t disp);
193 void bt_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size); 195 void bt_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size);
194 void bt_rrdisp(code_info *code, uint8_t src, uint8_t dst_base, int32_t dst_disp, uint8_t size); 196 void bt_rrdisp(code_info *code, uint8_t src, uint8_t dst_base, int32_t dst_disp, uint8_t size);
205 void btc_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size); 207 void btc_rr(code_info *code, uint8_t src, uint8_t dst, uint8_t size);
206 void btc_rrdisp(code_info *code, uint8_t src, uint8_t dst_base, int32_t dst_disp, uint8_t size); 208 void btc_rrdisp(code_info *code, uint8_t src, uint8_t dst_base, int32_t dst_disp, uint8_t size);
207 void btc_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size); 209 void btc_ir(code_info *code, uint8_t val, uint8_t dst, uint8_t size);
208 void btc_irdisp(code_info *code, uint8_t val, uint8_t dst_base, int32_t dst_disp, uint8_t size); 210 void btc_irdisp(code_info *code, uint8_t val, uint8_t dst_base, int32_t dst_disp, uint8_t size);
209 void jcc(code_info *code, uint8_t cc, code_ptr dest); 211 void jcc(code_info *code, uint8_t cc, code_ptr dest);
212 void jmp_rind(code_info *code, uint8_t dst);
210 void call_r(code_info *code, uint8_t dst); 213 void call_r(code_info *code, uint8_t dst);
211 void retn(code_info *code); 214 void retn(code_info *code);
212 void cdq(code_info *code); 215 void cdq(code_info *code);
213 void loop(code_info *code, code_ptr dst); 216 void loop(code_info *code, code_ptr dst);
214 217