Lines Matching refs:x86
2159 s16 res = (s16) ((s8) M.x86.R_AL * (s8) s); in imul_byte()
2161 M.x86.R_AX = res; in imul_byte()
2162 if (((M.x86.R_AL & 0x80) == 0 && M.x86.R_AH == 0x00) || in imul_byte()
2163 ((M.x86.R_AL & 0x80) != 0 && M.x86.R_AH == 0xFF)) { in imul_byte()
2180 s32 res = (s16) M.x86.R_AX * (s16) s; in imul_word()
2182 M.x86.R_AX = (u16) res; in imul_word()
2183 M.x86.R_DX = (u16) (res >> 16); in imul_word()
2184 if (((M.x86.R_AX & 0x8000) == 0 && M.x86.R_DX == 0x00) || in imul_word()
2185 ((M.x86.R_AX & 0x8000) != 0 && M.x86.R_DX == 0xFF)) { in imul_word()
2241 imul_long_direct(&M.x86.R_EAX, &M.x86.R_EDX, M.x86.R_EAX, s); in imul_long()
2242 if (((M.x86.R_EAX & 0x80000000) == 0 && M.x86.R_EDX == 0x00) || in imul_long()
2243 ((M.x86.R_EAX & 0x80000000) != 0 && M.x86.R_EDX == 0xFF)) { in imul_long()
2260 u16 res = (u16) (M.x86.R_AL * s); in mul_byte()
2262 M.x86.R_AX = res; in mul_byte()
2263 if (M.x86.R_AH == 0) { in mul_byte()
2280 u32 res = M.x86.R_AX * s; in mul_word()
2282 M.x86.R_AX = (u16) res; in mul_word()
2283 M.x86.R_DX = (u16) (res >> 16); in mul_word()
2284 if (M.x86.R_DX == 0) { in mul_word()
2302 u64 res = (u64) M.x86.R_EAX * s; in mul_long()
2304 M.x86.R_EAX = (u32) res; in mul_long()
2305 M.x86.R_EDX = (u32) (res >> 32); in mul_long()
2311 a = M.x86.R_EAX; in mul_long()
2319 M.x86.R_EAX = (rlo_hi << 16) | (rlo_lo & 0xFFFF); in mul_long()
2320 M.x86.R_EDX = rhi_lo; in mul_long()
2323 if (M.x86.R_EDX == 0) { in mul_long()
2342 dvd = (s16) M.x86.R_AX; in idiv_byte()
2353 M.x86.R_AL = (s8) div; in idiv_byte()
2354 M.x86.R_AH = (s8) mod; in idiv_byte()
2366 dvd = (((s32) M.x86.R_DX) << 16) | M.x86.R_AX; in idiv_word()
2382 M.x86.R_AX = (u16) div; in idiv_word()
2383 M.x86.R_DX = (u16) mod; in idiv_word()
2396 dvd = (((s64) M.x86.R_EDX) << 32) | M.x86.R_EAX; in idiv_long()
2409 s32 h_dvd = M.x86.R_EDX; in idiv_long()
2410 u32 l_dvd = M.x86.R_EAX; in idiv_long()
2458 M.x86.R_EAX = (u32) div; in idiv_long()
2459 M.x86.R_EDX = (u32) mod; in idiv_long()
2471 dvd = M.x86.R_AX; in div_byte()
2482 M.x86.R_AL = (u8) div; in div_byte()
2483 M.x86.R_AH = (u8) mod; in div_byte()
2495 dvd = (((u32) M.x86.R_DX) << 16) | M.x86.R_AX; in div_word()
2511 M.x86.R_AX = (u16) div; in div_word()
2512 M.x86.R_DX = (u16) mod; in div_word()
2525 dvd = (((u64) M.x86.R_EDX) << 32) | M.x86.R_EAX; in div_long()
2538 s32 h_dvd = M.x86.R_EDX; in div_long()
2539 u32 l_dvd = M.x86.R_EAX; in div_long()
2583 M.x86.R_EAX = (u32) div; in div_long()
2584 M.x86.R_EDX = (u32) mod; in div_long()
2599 if (M.x86.mode & (SYSMODE_PREFIX_REPE | SYSMODE_PREFIX_REPNE)) { in ins()
2602 u32 count = ((M.x86.mode & SYSMODE_PREFIX_DATA) ? in ins()
2603 M.x86.R_ECX : M.x86.R_CX); in ins()
2607 store_data_byte_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2608 (*sys_inb) (M.x86.R_DX)); in ins()
2609 M.x86.R_DI += inc; in ins()
2615 store_data_word_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2616 (*sys_inw) (M.x86.R_DX)); in ins()
2617 M.x86.R_DI += inc; in ins()
2622 store_data_long_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2623 (*sys_inl) (M.x86.R_DX)); in ins()
2624 M.x86.R_DI += inc; in ins()
2628 M.x86.R_CX = 0; in ins()
2629 if (M.x86.mode & SYSMODE_PREFIX_DATA) { in ins()
2630 M.x86.R_ECX = 0; in ins()
2632 M.x86.mode &= ~(SYSMODE_PREFIX_REPE | SYSMODE_PREFIX_REPNE); in ins()
2637 store_data_byte_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2638 (*sys_inb) (M.x86.R_DX)); in ins()
2641 store_data_word_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2642 (*sys_inw) (M.x86.R_DX)); in ins()
2645 store_data_long_abs(M.x86.R_ES, M.x86.R_DI, in ins()
2646 (*sys_inl) (M.x86.R_DX)); in ins()
2649 M.x86.R_DI += inc; in ins()
2665 if (M.x86.mode & (SYSMODE_PREFIX_REPE | SYSMODE_PREFIX_REPNE)) { in outs()
2668 u32 count = ((M.x86.mode & SYSMODE_PREFIX_DATA) ? in outs()
2669 M.x86.R_ECX : M.x86.R_CX); in outs()
2673 (*sys_outb) (M.x86.R_DX, in outs()
2674 fetch_data_byte_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2675 M.x86.R_SI += inc; in outs()
2681 (*sys_outw) (M.x86.R_DX, in outs()
2682 fetch_data_word_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2683 M.x86.R_SI += inc; in outs()
2688 (*sys_outl) (M.x86.R_DX, in outs()
2689 fetch_data_long_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2690 M.x86.R_SI += inc; in outs()
2694 M.x86.R_CX = 0; in outs()
2695 if (M.x86.mode & SYSMODE_PREFIX_DATA) { in outs()
2696 M.x86.R_ECX = 0; in outs()
2698 M.x86.mode &= ~(SYSMODE_PREFIX_REPE | SYSMODE_PREFIX_REPNE); in outs()
2703 (*sys_outb) (M.x86.R_DX, in outs()
2704 fetch_data_byte_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2707 (*sys_outw) (M.x86.R_DX, in outs()
2708 fetch_data_word_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2711 (*sys_outl) (M.x86.R_DX, in outs()
2712 fetch_data_long_abs(M.x86.R_ES, M.x86.R_SI)); in outs()
2715 M.x86.R_SI += inc; in outs()
2745 M.x86.R_SP -= 2; in push_word()
2746 (*sys_wrw) (((u32) M.x86.R_SS << 4) + M.x86.R_SP, w); in push_word()
2760 M.x86.R_SP -= 4; in push_long()
2761 (*sys_wrl) (((u32) M.x86.R_SS << 4) + M.x86.R_SP, w); in push_long()
2777 res = (*sys_rdw) (((u32) M.x86.R_SS << 4) + M.x86.R_SP); in pop_word()
2778 M.x86.R_SP += 2; in pop_word()
2795 res = (*sys_rdl) (((u32) M.x86.R_SS << 4) + M.x86.R_SP); in pop_long()
2796 M.x86.R_SP += 4; in pop_long()
2807 u32 feature = M.x86.R_EAX; in cpuid()
2815 hw_cpuid(&M.x86.R_EAX, &M.x86.R_EBX, &M.x86.R_ECX, &M.x86.R_EDX); in cpuid()
2824 M.x86.R_EAX = 1; in cpuid()
2827 M.x86.R_EBX = 0x756e6547; in cpuid()
2828 M.x86.R_EDX = 0x49656e69; in cpuid()
2829 M.x86.R_ECX = 0x6c65746e; in cpuid()
2837 M.x86.R_EAX = 0x00000480; in cpuid()
2838 M.x86.R_EBX = 0x00000000; in cpuid()
2839 M.x86.R_ECX = 0x00000000; in cpuid()
2840 M.x86.R_EDX = 0x00000002; /* VME */ in cpuid()
2845 M.x86.R_EDX &= 0x00000012; in cpuid()
2853 M.x86.R_EAX = 0; in cpuid()
2854 M.x86.R_EBX = 0; in cpuid()
2855 M.x86.R_ECX = 0; in cpuid()
2856 M.x86.R_EDX = 0; in cpuid()