From e66a7f1c8e921ea6958bee6685a81b4b319f2dbf Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sat, 15 Dec 2012 23:01:32 -0800 Subject: Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding. --- gen_x86.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gen_x86.h') diff --git a/gen_x86.h b/gen_x86.h index 471a22b..b48f8ac 100644 --- a/gen_x86.h +++ b/gen_x86.h @@ -79,6 +79,20 @@ uint8_t * rcr_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, 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); -- cgit v1.2.3