mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
P4 style multiplication eflags
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@481 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
5e809a8095
commit
d36cd60e6c
4 changed files with 49 additions and 24 deletions
|
@ -2016,31 +2016,35 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
|
|||
switch(ot) {
|
||||
case OT_BYTE:
|
||||
gen_op_mulb_AL_T0();
|
||||
s->cc_op = CC_OP_MULB;
|
||||
break;
|
||||
case OT_WORD:
|
||||
gen_op_mulw_AX_T0();
|
||||
s->cc_op = CC_OP_MULW;
|
||||
break;
|
||||
default:
|
||||
case OT_LONG:
|
||||
gen_op_mull_EAX_T0();
|
||||
s->cc_op = CC_OP_MULL;
|
||||
break;
|
||||
}
|
||||
s->cc_op = CC_OP_MUL;
|
||||
break;
|
||||
case 5: /* imul */
|
||||
switch(ot) {
|
||||
case OT_BYTE:
|
||||
gen_op_imulb_AL_T0();
|
||||
s->cc_op = CC_OP_MULB;
|
||||
break;
|
||||
case OT_WORD:
|
||||
gen_op_imulw_AX_T0();
|
||||
s->cc_op = CC_OP_MULW;
|
||||
break;
|
||||
default:
|
||||
case OT_LONG:
|
||||
gen_op_imull_EAX_T0();
|
||||
s->cc_op = CC_OP_MULL;
|
||||
break;
|
||||
}
|
||||
s->cc_op = CC_OP_MUL;
|
||||
break;
|
||||
case 6: /* div */
|
||||
switch(ot) {
|
||||
|
@ -2235,7 +2239,7 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
|
|||
gen_op_imulw_T0_T1();
|
||||
}
|
||||
gen_op_mov_reg_T0[ot][reg]();
|
||||
s->cc_op = CC_OP_MUL;
|
||||
s->cc_op = CC_OP_MULB + ot;
|
||||
break;
|
||||
case 0x1c0:
|
||||
case 0x1c1: /* xadd Ev, Gv */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue