2958 |
gen_op_fmov_ST0_STN((opreg + 1) & 7); |
gen_op_fmov_ST0_STN((opreg + 1) & 7); |
2959 |
break; |
break; |
2960 |
case 0x09: /* fxchg sti */ |
case 0x09: /* fxchg sti */ |
2961 |
|
case 0x29: /* fxchg4 sti, undocumented op */ |
2962 |
|
case 0x39: /* fxchg7 sti, undocumented op */ |
2963 |
gen_op_fxchg_ST0_STN(opreg); |
gen_op_fxchg_ST0_STN(opreg); |
2964 |
break; |
break; |
2965 |
case 0x0a: /* grp d9/2 */ |
case 0x0a: /* grp d9/2 */ |
3106 |
} |
} |
3107 |
break; |
break; |
3108 |
case 0x02: /* fcom */ |
case 0x02: /* fcom */ |
3109 |
|
case 0x22: /* fcom2, undocumented op */ |
3110 |
gen_op_fmov_FT0_STN(opreg); |
gen_op_fmov_FT0_STN(opreg); |
3111 |
gen_op_fcom_ST0_FT0(); |
gen_op_fcom_ST0_FT0(); |
3112 |
break; |
break; |
3113 |
case 0x03: /* fcomp */ |
case 0x03: /* fcomp */ |
3114 |
|
case 0x23: /* fcomp3, undocumented op */ |
3115 |
|
case 0x32: /* fcomp5, undocumented op */ |
3116 |
gen_op_fmov_FT0_STN(opreg); |
gen_op_fmov_FT0_STN(opreg); |
3117 |
gen_op_fcom_ST0_FT0(); |
gen_op_fcom_ST0_FT0(); |
3118 |
gen_op_fpop(); |
gen_op_fpop(); |
3168 |
gen_op_fmov_STN_ST0(opreg); |
gen_op_fmov_STN_ST0(opreg); |
3169 |
break; |
break; |
3170 |
case 0x2b: /* fstp sti */ |
case 0x2b: /* fstp sti */ |
3171 |
|
case 0x0b: /* fstp1 sti, undocumented op */ |
3172 |
|
case 0x3a: /* fstp8 sti, undocumented op */ |
3173 |
|
case 0x3b: /* fstp9 sti, undocumented op */ |
3174 |
gen_op_fmov_STN_ST0(opreg); |
gen_op_fmov_STN_ST0(opreg); |
3175 |
gen_op_fpop(); |
gen_op_fpop(); |
3176 |
break; |
break; |
3195 |
goto illegal_op; |
goto illegal_op; |
3196 |
} |
} |
3197 |
break; |
break; |
3198 |
|
case 0x38: /* ffreep sti, undocumented op */ |
3199 |
|
gen_op_ffree_STN(opreg); |
3200 |
|
gen_op_fpop(); |
3201 |
|
break; |
3202 |
case 0x3c: /* df/4 */ |
case 0x3c: /* df/4 */ |
3203 |
switch(rm) { |
switch(rm) { |
3204 |
case 0: |
case 0: |