From c7827141fecf66bc83c5cbb1cd0a38fd925e2689 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Fri, 28 Dec 2012 17:57:43 -0800 Subject: Implement scc (untested) --- gen_x86.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gen_x86.c') diff --git a/gen_x86.c b/gen_x86.c index 2708c13..23dbba5 100644 --- a/gen_x86.c +++ b/gen_x86.c @@ -1069,6 +1069,19 @@ uint8_t * setcc_rind(uint8_t * out, uint8_t cc, uint8_t dst) 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) { -- cgit v1.2.3