diff gen_x86.h @ 15:c0f339564819

Make x86 generator generic with respect to operand size for immediate parameters.
author Mike Pavone <pavone@retrodev.com>
date Tue, 27 Nov 2012 22:43:32 -0800
parents 2bdad0f52f42
children 3e7bfde7606e
line wrap: on
line diff
--- a/gen_x86.h	Tue Nov 27 09:28:13 2012 -0800
+++ b/gen_x86.h	Tue Nov 27 22:43:32 2012 -0800
@@ -58,26 +58,18 @@
 uint8_t * and_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * sub_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * cmp_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
-uint8_t * add_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * or_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * xor_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * and_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * sub_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * cmp_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * add_i32r(uint8_t * out, int32_t val, uint8_t dst);
-uint8_t * or_i32r(uint8_t * out, int32_t val, uint8_t dst);
-uint8_t * xor_i32r(uint8_t * out, int32_t val, uint8_t dst);
-uint8_t * and_i32r(uint8_t * out, int32_t val, uint8_t dst);
-uint8_t * sub_i32r(uint8_t * out, int32_t val, uint8_t dst);
-uint8_t * cmp_i32r(uint8_t * out, int32_t val, uint8_t dst);
+uint8_t * add_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * or_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * xor_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * and_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * sub_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
+uint8_t * cmp_ir(uint8_t * out, int32_t val, uint8_t dst, uint8_t size);
 uint8_t * mov_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * mov_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t disp, uint8_t size);
 uint8_t * mov_rdisp8r(uint8_t * out, uint8_t src_base, int8_t disp, uint8_t dst, uint8_t size);
 uint8_t * mov_rrind(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * mov_rindr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
-uint8_t * mov_i8r(uint8_t * out, uint8_t val, uint8_t dst);
-uint8_t * mov_i16r(uint8_t * out, uint16_t val, uint8_t dst);
-uint8_t * mov_i32r(uint8_t * out, uint32_t val, uint8_t dst);
+uint8_t * mov_ir(uint8_t * out, int64_t val, uint8_t dst, uint8_t size);
 uint8_t * pushf(uint8_t * out);
 uint8_t * popf(uint8_t * out);
 uint8_t * push_r(uint8_t * out, uint8_t reg);