comparison 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
comparison
equal deleted inserted replaced
111:8b50d2c975b2 112:e3594572fb98
1067 *(out++) = OP2_SETCC | cc; 1067 *(out++) = OP2_SETCC | cc;
1068 *(out++) = MODE_REG_INDIRECT | dst; 1068 *(out++) = MODE_REG_INDIRECT | dst;
1069 return out; 1069 return out;
1070 } 1070 }
1071 1071
1072 uint8_t * setcc_rdisp8(uint8_t * out, uint8_t cc, uint8_t dst, int8_t disp)
1073 {
1074 if (dst >= R8) {
1075 *(out++) = PRE_REX | REX_RM_FIELD;
1076 dst -= R8 - X86_R8;
1077 }
1078 *(out++) = PRE_2BYTE;
1079 *(out++) = OP2_SETCC | cc;
1080 *(out++) = MODE_REG_DISPLACE8 | dst;
1081 *(out++) = disp;
1082 return out;
1083 }
1084
1072 uint8_t * bt_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size) 1085 uint8_t * bt_rr(uint8_t * out, uint8_t src, uint8_t dst, uint8_t size)
1073 { 1086 {
1074 if (size == SZ_W) { 1087 if (size == SZ_W) {
1075 *(out++) = PRE_SIZE; 1088 *(out++) = PRE_SIZE;
1076 } 1089 }