Mercurial > repos > blastem
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 } |