Mercurial > repos > blastem
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 |