112 |
#define PREFIX_LOCK 0x04 |
#define PREFIX_LOCK 0x04 |
113 |
#define PREFIX_DATA 0x08 |
#define PREFIX_DATA 0x08 |
114 |
#define PREFIX_ADR 0x10 |
#define PREFIX_ADR 0x10 |
|
#define PREFIX_FWAIT 0x20 |
|
115 |
|
|
116 |
typedef struct DisasContext { |
typedef struct DisasContext { |
117 |
/* current insn context */ |
/* current insn context */ |
1439 |
case 0x67: |
case 0x67: |
1440 |
prefixes |= PREFIX_ADR; |
prefixes |= PREFIX_ADR; |
1441 |
goto next_byte; |
goto next_byte; |
|
case 0x9b: |
|
|
prefixes |= PREFIX_FWAIT; |
|
|
goto next_byte; |
|
1442 |
} |
} |
1443 |
|
|
1444 |
if (prefixes & PREFIX_DATA) |
if (prefixes & PREFIX_DATA) |
3252 |
/* misc */ |
/* misc */ |
3253 |
case 0x90: /* nop */ |
case 0x90: /* nop */ |
3254 |
break; |
break; |
3255 |
|
case 0x9b: /* fwait */ |
3256 |
|
break; |
3257 |
case 0xcc: /* int3 */ |
case 0xcc: /* int3 */ |
3258 |
gen_exception(s, EXCP03_INT3, s->pc - s->cs_base); |
gen_exception(s, EXCP03_INT3, s->pc - s->cs_base); |
3259 |
break; |
break; |