diff gen_x86.c @ 112:e3594572fb98

Implement scc (untested)
author Mike Pavone <pavone@retrodev.com>
date Fri, 28 Dec 2012 17:57:43 -0800
parents 6331ddec228f
children fb7944d3ed5c
line wrap: on
line diff
--- a/gen_x86.c	Fri Dec 28 15:34:24 2012 -0800
+++ b/gen_x86.c	Fri Dec 28 17:57:43 2012 -0800
@@ -1069,6 +1069,19 @@
 	return out;
 }
 
+uint8_t * setcc_rdisp8(uint8_t * out, uint8_t cc, uint8_t dst, int8_t disp)
+{
+	if (dst >= R8) {
+		*(out++) = PRE_REX | REX_RM_FIELD;
+		dst -= R8 - X86_R8;
+	}
+	*(out++) = PRE_2BYTE;
+	*(out++) = OP2_SETCC | cc;
+	*(out++) = MODE_REG_DISPLACE8 | dst;
+	*(out++) = disp;
+	return out;
+}
+
 uint8_t * bt_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size)
 {
 	if (size == SZ_W) {