| 547 |
#define DEC_CX() ECX = (ECX & ~0xffff) | ((ECX - 1) & 0xffff) |
#define DEC_CX() ECX = (ECX & ~0xffff) | ((ECX - 1) & 0xffff) |
| 548 |
#include "op_string.h" |
#include "op_string.h" |
| 549 |
|
|
| 550 |
|
void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) |
| 551 |
|
{ |
| 552 |
|
T0 = DF << SHIFT; |
| 553 |
|
} |
| 554 |
|
|
| 555 |
|
void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) |
| 556 |
|
{ |
| 557 |
|
if ((DATA_TYPE)CC_DST == 0) |
| 558 |
|
JUMP_TB(PARAM1, 1, PARAM2); |
| 559 |
|
} |
| 560 |
|
|
| 561 |
|
void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) |
| 562 |
|
{ |
| 563 |
|
if ((DATA_TYPE)CC_DST != 0) |
| 564 |
|
JUMP_TB(PARAM1, 1, PARAM2); |
| 565 |
|
} |
| 566 |
|
|
| 567 |
|
#if DATA_BITS >= 16 |
| 568 |
|
void OPPROTO glue(op_jz_ecx, SUFFIX)(void) |
| 569 |
|
{ |
| 570 |
|
if ((DATA_TYPE)ECX == 0) |
| 571 |
|
JUMP_TB(PARAM1, 1, PARAM2); |
| 572 |
|
} |
| 573 |
|
#endif |
| 574 |
|
|
| 575 |
/* port I/O */ |
/* port I/O */ |
| 576 |
|
|
| 577 |
void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) |
void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) |
| 584 |
T1 = glue(cpu_x86_in, SUFFIX)(env, T0 & 0xffff); |
T1 = glue(cpu_x86_in, SUFFIX)(env, T0 & 0xffff); |
| 585 |
} |
} |
| 586 |
|
|
| 587 |
|
void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) |
| 588 |
|
{ |
| 589 |
|
T0 = glue(cpu_x86_in, SUFFIX)(env, EDX & 0xffff); |
| 590 |
|
} |
| 591 |
|
|
| 592 |
|
void OPPROTO glue(glue(op_out, SUFFIX), _DX_T0)(void) |
| 593 |
|
{ |
| 594 |
|
glue(cpu_x86_out, SUFFIX)(env, EDX & 0xffff, T0); |
| 595 |
|
} |
| 596 |
|
|
| 597 |
#undef DATA_BITS |
#undef DATA_BITS |
| 598 |
#undef SHIFT_MASK |
#undef SHIFT_MASK |
| 599 |
#undef SIGN_MASK |
#undef SIGN_MASK |