diff options
author | Mike Pavone <pavone@retrodev.com> | 2012-12-15 23:01:32 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2012-12-15 23:01:32 -0800 |
commit | e66a7f1c8e921ea6958bee6685a81b4b319f2dbf (patch) | |
tree | 5e4bbe2bd107beeef9ebe8f20f8c0d4925ca1eb6 /gen_x86.h | |
parent | d6526708390114de0e03206170174fbe9a102383 (diff) |
Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding.
Diffstat (limited to 'gen_x86.h')
-rw-r--r-- | gen_x86.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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); |