diff gen_x86.c @ 194:811163790e6c

Implement ABCD an SBCD. Fix BTEST with register source.
author Mike Pavone <pavone@retrodev.com>
date Wed, 16 Jan 2013 22:40:56 -0800
parents 6b593ea0ed90
children c82f65a87a53
line wrap: on
line diff
--- a/gen_x86.c	Tue Jan 15 00:14:36 2013 -0800
+++ b/gen_x86.c	Wed Jan 16 22:40:56 2013 -0800
@@ -128,7 +128,7 @@
 		opcode |= BIT_DIR;
 		tmp = dst;
 		dst = src;
-		src = dst;
+		src = tmp;
 	}
 	if (size == SZ_Q || src >= R8 || dst >= R8 || (size == SZ_B && src >= RSP && src <= RDI)) {
 		*out = PRE_REX;
@@ -1378,12 +1378,12 @@
 
 uint8_t * bts_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size)
 {
-	return bit_rr(out, OP2_BT, src, dst, size);
+	return bit_rr(out, OP2_BTS, src, dst, size);
 }
 
 uint8_t * bts_rrdisp8(uint8_t * out, uint8_t src, uint8_t dst_base, int8_t dst_disp, uint8_t size)
 {
-	return bit_rrdisp8(out, OP2_BT, src, dst_base, dst_disp, size);
+	return bit_rrdisp8(out, OP2_BTS, src, dst_base, dst_disp, size);
 }
 
 uint8_t * bts_ir(uint8_t * out, uint8_t val, uint8_t dst, uint8_t size)