diff options
Diffstat (limited to 'ops_template.h')
-rw-r--r-- | ops_template.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ops_template.h b/ops_template.h index 4595291e78..89480dddbf 100644 --- a/ops_template.h +++ b/ops_template.h @@ -547,6 +547,31 @@ void OPPROTO op_update_bt_cc(void) #define DEC_CX() ECX = (ECX & ~0xffff) | ((ECX - 1) & 0xffff) #include "op_string.h" +void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) +{ + T0 = DF << SHIFT; +} + +void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) +{ + if ((DATA_TYPE)CC_DST == 0) + JUMP_TB(PARAM1, 1, PARAM2); +} + +void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) +{ + if ((DATA_TYPE)CC_DST != 0) + JUMP_TB(PARAM1, 1, PARAM2); +} + +#if DATA_BITS >= 16 +void OPPROTO glue(op_jz_ecx, SUFFIX)(void) +{ + if ((DATA_TYPE)ECX == 0) + JUMP_TB(PARAM1, 1, PARAM2); +} +#endif + /* port I/O */ void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) @@ -559,6 +584,16 @@ void OPPROTO glue(glue(op_in, SUFFIX), _T0_T1)(void) T1 = glue(cpu_x86_in, SUFFIX)(env, T0 & 0xffff); } +void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) +{ + T0 = glue(cpu_x86_in, SUFFIX)(env, EDX & 0xffff); +} + +void OPPROTO glue(glue(op_out, SUFFIX), _DX_T0)(void) +{ + glue(cpu_x86_out, SUFFIX)(env, EDX & 0xffff, T0); +} + #undef DATA_BITS #undef SHIFT_MASK #undef SIGN_MASK |