comparison gen_x86.h @ 81:6d231dbe75ab

Add support for indexed modes as a source, some work on jmp and jsr with areg indirect mode
author Mike Pavone <pavone@retrodev.com>
date Sat, 22 Dec 2012 21:37:25 -0800
parents f80fa1776507
children 6331ddec228f
comparison
equal deleted inserted replaced
80:7b1e16e981ef 81:6d231dbe75ab
129 uint8_t * mov_rrind(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); 129 uint8_t * mov_rrind(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
130 uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); 130 uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
131 uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size); 131 uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size);
132 uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint8_t size); 132 uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint8_t size);
133 uint8_t * mov_irind(uint8_t * out, int32_t val, uint8_t dst, uint8_t size); 133 uint8_t * mov_irind(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
134 uint8_t * movsx_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t src_size, uint8_t size);
135 uint8_t * movsx_rdisp8r(uint8_t * out, uint8_t src, int8_t disp, uint8_t dst, uint8_t src_size, uint8_t size);
134 uint8_t * pushf(uint8_t * out); 136 uint8_t * pushf(uint8_t * out);
135 uint8_t * popf(uint8_t * out); 137 uint8_t * popf(uint8_t * out);
136 uint8_t * push_r(uint8_t * out, uint8_t reg); 138 uint8_t * push_r(uint8_t * out, uint8_t reg);
137 uint8_t * pop_r(uint8_t * out, uint8_t reg); 139 uint8_t * pop_r(uint8_t * out, uint8_t reg);
138 uint8_t * setcc_r(uint8_t * out, uint8_t cc, uint8_t dst); 140 uint8_t * setcc_r(uint8_t * out, uint8_t cc, uint8_t dst);
141 uint8_t * bt_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t dst_disp, uint8_t size); 143 uint8_t * bt_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t dst_disp, uint8_t size);
142 uint8_t * bt_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); 144 uint8_t * bt_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size);
143 uint8_t * bt_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t dst_disp, uint8_t size); 145 uint8_t * bt_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t dst_disp, uint8_t size);
144 uint8_t * jcc(uint8_t * out, uint8_t cc, uint8_t *dest); 146 uint8_t * jcc(uint8_t * out, uint8_t cc, uint8_t *dest);
145 uint8_t * jmp(uint8_t * out, uint8_t *dest); 147 uint8_t * jmp(uint8_t * out, uint8_t *dest);
148 uint8_t * jmp_r(uint8_t * out, uint8_t dst);
146 uint8_t * call(uint8_t * out, uint8_t * fun); 149 uint8_t * call(uint8_t * out, uint8_t * fun);
150 uint8_t * call_r(uint8_t * out, uint8_t dst);
147 uint8_t * retn(uint8_t * out); 151 uint8_t * retn(uint8_t * out);
148 152
149 #endif //GEN_X86_H_ 153 #endif //GEN_X86_H_
150 154