From e1d2fc50dcb7e57fb9da9c3a858083d599b2f57f Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Wed, 12 Dec 2012 23:21:11 -0800 Subject: Add untested support for and, eor, or, swap, tst and nop instructions. Add call to m68k_save_result for add and sub so that they will properly save results for memory destinations --- 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 f2dec17..471a22b 100644 --- a/gen_x86.h +++ b/gen_x86.h @@ -65,6 +65,20 @@ enum { } x86_modes; +uint8_t * rol_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * ror_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * rcl_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * rcr_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * shl_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * shr_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * sar_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size); +uint8_t * rol_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size); +uint8_t * ror_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size); +uint8_t * rcl_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size); +uint8_t * rcr_irdisp8(uint8_t * out, uint8_t val, uint8_t dst_base, int8_t disp, uint8_t size); +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 * 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