diff gen_x86.h @ 51:937b47c9b79b

Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding.
author Mike Pavone <pavone@retrodev.com>
date Sat, 15 Dec 2012 23:01:32 -0800
parents d2e43d64e999
children 918468c623e9
line wrap: on
line diff
--- a/gen_x86.h	Thu Dec 13 09:47:40 2012 -0800
+++ b/gen_x86.h	Sat Dec 15 23:01:32 2012 -0800
@@ -79,6 +79,20 @@
 uint8_t * shl_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size);
 uint8_t * shr_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size);
 uint8_t * sar_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * rol_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * ror_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * rcl_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * rcr_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * shl_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * shr_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * sar_clr(uint8_t * out, uint8_t dst, uint8_t size);
+uint8_t * rol_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * ror_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * rcl_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * rcr_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * shl_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * shr_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
+uint8_t * sar_clrdisp8(uint8_t * out, uint8_t dst_base, int8_t disp, uint8_t size);
 uint8_t * add_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * or_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);
 uint8_t * xor_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size);