Mercurial > repos > blastem
comparison gen_x86.h @ 151:6b593ea0ed90
Implement MULU/MULS and DIVU/DIVS
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 03 Jan 2013 22:07:40 -0800 |
parents | 5416a5c4628e |
children | c82f65a87a53 |
comparison
equal
deleted
inserted
replaced
150:3e68e517cc01 | 151:6b593ea0ed90 |
---|---|
131 uint8_t * sub_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); | 131 uint8_t * sub_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); |
132 uint8_t * sbb_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); | 132 uint8_t * sbb_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); |
133 uint8_t * sbb_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); | 133 uint8_t * sbb_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); |
134 uint8_t * cmp_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); | 134 uint8_t * cmp_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); |
135 uint8_t * cmp_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); | 135 uint8_t * cmp_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); |
136 uint8_t * imul_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); | |
137 uint8_t * imul_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); | |
138 uint8_t * imul_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); | |
136 uint8_t * not_r(uint8_t * out, uint8_t dst, uint8_t size); | 139 uint8_t * not_r(uint8_t * out, uint8_t dst, uint8_t size); |
137 uint8_t * neg_r(uint8_t * out, uint8_t dst, uint8_t size); | 140 uint8_t * neg_r(uint8_t * out, uint8_t dst, uint8_t size); |
138 uint8_t * not_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | 141 uint8_t * not_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); |
139 uint8_t * neg_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | 142 uint8_t * neg_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); |
143 uint8_t * mul_r(uint8_t * out, uint8_t dst, uint8_t size); | |
144 uint8_t * imul_r(uint8_t * out, uint8_t dst, uint8_t size); | |
145 uint8_t * div_r(uint8_t * out, uint8_t dst, uint8_t size); | |
146 uint8_t * idiv_r(uint8_t * out, uint8_t dst, uint8_t size); | |
147 uint8_t * mul_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | |
148 uint8_t * imul_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | |
149 uint8_t * div_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | |
150 uint8_t * idiv_rdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size); | |
140 uint8_t * mov_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); | 151 uint8_t * mov_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); |
141 uint8_t * mov_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); | 152 uint8_t * mov_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size); |
142 uint8_t * mov_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); | 153 uint8_t * mov_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size); |
143 uint8_t * mov_rrind(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); | 154 uint8_t * mov_rrind(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); |
144 uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); | 155 uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size); |
145 uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size); | 156 uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size); |
146 uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint8_t size); | 157 uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint8_t size); |
147 uint8_t * mov_irind(uint8_t * out, int32_t val, uint8_t dst, uint8_t size); | 158 uint8_t * mov_irind(uint8_t * out, int32_t val, uint8_t dst, uint8_t size); |
148 uint8_t * movsx_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t src_size, uint8_t size); | 159 uint8_t * movsx_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t src_size, uint8_t size); |
149 uint8_t * movsx_rdisp8r(uint8_t * out, uint8_t src, int8_t disp, uint8_t dst, uint8_t src_size, uint8_t size); | 160 uint8_t * movsx_rdisp8r(uint8_t * out, uint8_t src, int8_t disp, uint8_t dst, uint8_t src_size, uint8_t size); |
161 uint8_t * movzx_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t src_size, uint8_t size); | |
162 uint8_t * movzx_rdisp8r(uint8_t * out, uint8_t src, int8_t disp, uint8_t dst, uint8_t src_size, uint8_t size); | |
150 uint8_t * pushf(uint8_t * out); | 163 uint8_t * pushf(uint8_t * out); |
151 uint8_t * popf(uint8_t * out); | 164 uint8_t * popf(uint8_t * out); |
152 uint8_t * push_r(uint8_t * out, uint8_t reg); | 165 uint8_t * push_r(uint8_t * out, uint8_t reg); |
153 uint8_t * pop_r(uint8_t * out, uint8_t reg); | 166 uint8_t * pop_r(uint8_t * out, uint8_t reg); |
154 uint8_t * setcc_r(uint8_t * out, uint8_t cc, uint8_t dst); | 167 uint8_t * setcc_r(uint8_t * out, uint8_t cc, uint8_t dst); |
174 uint8_t * jmp(uint8_t * out, uint8_t *dest); | 187 uint8_t * jmp(uint8_t * out, uint8_t *dest); |
175 uint8_t * jmp_r(uint8_t * out, uint8_t dst); | 188 uint8_t * jmp_r(uint8_t * out, uint8_t dst); |
176 uint8_t * call(uint8_t * out, uint8_t * fun); | 189 uint8_t * call(uint8_t * out, uint8_t * fun); |
177 uint8_t * call_r(uint8_t * out, uint8_t dst); | 190 uint8_t * call_r(uint8_t * out, uint8_t dst); |
178 uint8_t * retn(uint8_t * out); | 191 uint8_t * retn(uint8_t * out); |
192 uint8_t * cdq(uint8_t * out); | |
179 | 193 |
180 #endif //GEN_X86_H_ | 194 #endif //GEN_X86_H_ |
181 | 195 |