int i386_parity_table[256];
MODRM_TABLE i386_MODRM_table[256];
-static void i386_trap_with_error(i386_state* cpustate, int irq, int irq_gate, int trap_level, UINT32 err, int is_top);
+static void __FASTCALL i386_trap_with_error(i386_state* cpustate, int irq, int irq_gate, int trap_level, UINT32 err, int is_top);
static void i286_task_switch(i386_state* cpustate, UINT16 selector, UINT8 nested);
static void i386_task_switch(i386_state* cpustate, UINT16 selector, UINT8 nested);
static void build_opcode_table(i386_state *cpustate, UINT32 features);
}
/* Check segment register for validity when changing privilege level after an RETF */
-/*static*/ INLINE void i386_check_sreg_validity(i386_state* cpustate, int reg)
+/*static*/ INLINE void __FASTCALL i386_check_sreg_validity(i386_state* cpustate, int reg)
{
UINT16 selector = cpustate->sreg[reg].selector;
UINT8 CPL = cpustate->CPL;
return 0;
}
#endif
-static void i386_sreg_load(i386_state *cpustate, UINT16 selector, UINT8 reg, bool *fault)
+static void __FASTCALL i386_sreg_load(i386_state *cpustate, UINT16 selector, UINT8 reg, bool *fault)
{
// Checks done when MOV changes a segment register in protected mode
UINT8 CPL,RPL,DPL;
if(fault) *fault = false;
}
-static void i386_trap(i386_state *cpustate,int irq, int irq_gate, int trap_level)
+static void __FASTCALL i386_trap(i386_state *cpustate,int irq, int irq_gate, int trap_level)
{
/* I386 Interrupts/Traps/Faults:
*
}
-static void i386_trap_with_error(i386_state *cpustate,int irq, int irq_gate, int trap_level, UINT32 error, int is_top)
+static void __FASTCALL i386_trap_with_error(i386_state *cpustate,int irq, int irq_gate, int trap_level, UINT32 error, int is_top)
{
// buffering direct call from trap.
if(is_top != 0) {
}
/* Forward declarations */
-static void I386OP(decode_opcode)(i386_state *cpustate);
-static void I386OP(decode_two_byte)(i386_state *cpustate);
-static void I386OP(decode_three_byte38)(i386_state *cpustate);
-static void I386OP(decode_three_byte3a)(i386_state *cpustate);
-static void I386OP(decode_three_byte66)(i386_state *cpustate);
-static void I386OP(decode_three_bytef2)(i386_state *cpustate);
-static void I386OP(decode_three_bytef3)(i386_state *cpustate);
-static void I386OP(decode_four_byte3866)(i386_state *cpustate);
-static void I386OP(decode_four_byte3a66)(i386_state *cpustate);
-static void I386OP(decode_four_byte38f2)(i386_state *cpustate);
-static void I386OP(decode_four_byte3af2)(i386_state *cpustate);
-static void I386OP(decode_four_byte38f3)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_opcode)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_two_byte)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_three_byte38)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_three_byte3a)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_three_byte66)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_three_bytef2)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_three_bytef3)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_four_byte3866)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_four_byte3a66)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_four_byte38f2)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_four_byte3af2)(i386_state *cpustate);
+static void __FASTCALL I386OP(decode_four_byte38f3)(i386_state *cpustate);
#include "x87ops.c"
#include "i386ops.h"
-static void I386OP(decode_opcode)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_opcode)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
}
/* Two-byte opcode 0f xx */
-static void I386OP(decode_two_byte)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_two_byte)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
}
/* Three-byte opcode 0f 38 xx */
-static void I386OP(decode_three_byte38)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_three_byte38)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
}
/* Three-byte opcode 0f 3a xx */
-static void I386OP(decode_three_byte3a)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_three_byte3a)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
}
/* Three-byte opcode prefix 66 0f xx */
-static void I386OP(decode_three_byte66)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_three_byte66)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if( cpustate->operand_size )
}
/* Three-byte opcode prefix f2 0f xx */
-static void I386OP(decode_three_bytef2)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_three_bytef2)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if( cpustate->operand_size )
}
/* Three-byte opcode prefix f3 0f */
-static void I386OP(decode_three_bytef3)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_three_bytef3)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if( cpustate->operand_size )
}
/* Four-byte opcode prefix 66 0f 38 xx */
-static void I386OP(decode_four_byte3866)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_four_byte3866)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if (cpustate->operand_size)
}
/* Four-byte opcode prefix 66 0f 3a xx */
-static void I386OP(decode_four_byte3a66)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_four_byte3a66)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if (cpustate->operand_size)
}
/* Four-byte opcode prefix f2 0f 38 xx */
-static void I386OP(decode_four_byte38f2)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_four_byte38f2)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if (cpustate->operand_size)
}
/* Four-byte opcode prefix f2 0f 3a xx */
-static void I386OP(decode_four_byte3af2)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_four_byte3af2)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if (cpustate->operand_size)
}
/* Four-byte opcode prefix f3 0f 38 xx */
-static void I386OP(decode_four_byte38f3)(i386_state *cpustate)
+static void __FASTCALL I386OP(decode_four_byte38f3)(i386_state *cpustate)
{
cpustate->opcode = FETCH(cpustate);
if (cpustate->operand_size)
// license:BSD-3-Clause
// copyright-holders:Ville Linde, Barry Rodewald, Carl, Philip Bennett
-static UINT16 I386OP(shift_rotate16)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
+static UINT16 __FASTCALL I386OP(shift_rotate16)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
{
UINT32 src = value & 0xffff;
UINT16 dst = value;
-static void I386OP(adc_rm16_r16)(i386_state *cpustate) // Opcode 0x11
+static void __FASTCALL I386OP(adc_rm16_r16)(i386_state *cpustate) // Opcode 0x11
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_r16_rm16)(i386_state *cpustate) // Opcode 0x13
+static void __FASTCALL I386OP(adc_r16_rm16)(i386_state *cpustate) // Opcode 0x13
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_ax_i16)(i386_state *cpustate) // Opcode 0x15
+static void __FASTCALL I386OP(adc_ax_i16)(i386_state *cpustate) // Opcode 0x15
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(add_rm16_r16)(i386_state *cpustate) // Opcode 0x01
+static void __FASTCALL I386OP(add_rm16_r16)(i386_state *cpustate) // Opcode 0x01
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_r16_rm16)(i386_state *cpustate) // Opcode 0x03
+static void __FASTCALL I386OP(add_r16_rm16)(i386_state *cpustate) // Opcode 0x03
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_ax_i16)(i386_state *cpustate) // Opcode 0x05
+static void __FASTCALL I386OP(add_ax_i16)(i386_state *cpustate) // Opcode 0x05
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(and_rm16_r16)(i386_state *cpustate) // Opcode 0x21
+static void __FASTCALL I386OP(and_rm16_r16)(i386_state *cpustate) // Opcode 0x21
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_r16_rm16)(i386_state *cpustate) // Opcode 0x23
+static void __FASTCALL I386OP(and_r16_rm16)(i386_state *cpustate) // Opcode 0x23
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_ax_i16)(i386_state *cpustate) // Opcode 0x25
+static void __FASTCALL I386OP(and_ax_i16)(i386_state *cpustate) // Opcode 0x25
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(bsf_r16_rm16)(i386_state *cpustate) // Opcode 0x0f bc
+static void __FASTCALL I386OP(bsf_r16_rm16)(i386_state *cpustate) // Opcode 0x0f bc
{
UINT16 src, dst, temp;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,CYCLES_BSF_BASE);
}
-static void I386OP(bsr_r16_rm16)(i386_state *cpustate) // Opcode 0x0f bd
+static void __FASTCALL I386OP(bsr_r16_rm16)(i386_state *cpustate) // Opcode 0x0f bd
{
UINT16 src, dst, temp;
UINT8 modrm = FETCH(cpustate);
}
-static void I386OP(bt_rm16_r16)(i386_state *cpustate) // Opcode 0x0f a3
+static void __FASTCALL I386OP(bt_rm16_r16)(i386_state *cpustate) // Opcode 0x0f a3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(btc_rm16_r16)(i386_state *cpustate) // Opcode 0x0f bb
+static void __FASTCALL I386OP(btc_rm16_r16)(i386_state *cpustate) // Opcode 0x0f bb
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(btr_rm16_r16)(i386_state *cpustate) // Opcode 0x0f b3
+static void __FASTCALL I386OP(btr_rm16_r16)(i386_state *cpustate) // Opcode 0x0f b3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(bts_rm16_r16)(i386_state *cpustate) // Opcode 0x0f ab
+static void __FASTCALL I386OP(bts_rm16_r16)(i386_state *cpustate) // Opcode 0x0f ab
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(call_abs16)(i386_state *cpustate) // Opcode 0x9a
+static void __FASTCALL I386OP(call_abs16)(i386_state *cpustate) // Opcode 0x9a
{
UINT16 offset = FETCH16(cpustate);
UINT16 ptr = FETCH16(cpustate);
CHANGE_PC(cpustate,cpustate->eip);
}
-static void I386OP(call_rel16)(i386_state *cpustate) // Opcode 0xe8
+static void __FASTCALL I386OP(call_rel16)(i386_state *cpustate) // Opcode 0xe8
{
INT16 disp = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_CALL); /* TODO: Timing = 7 + m */
}
-static void I386OP(cbw)(i386_state *cpustate) // Opcode 0x98
+static void __FASTCALL I386OP(cbw)(i386_state *cpustate) // Opcode 0x98
{
REG16(AX) = (INT16)((INT8)REG8(AL));
CYCLES(cpustate,CYCLES_CBW);
}
-static void I386OP(cmp_rm16_r16)(i386_state *cpustate) // Opcode 0x39
+static void __FASTCALL I386OP(cmp_rm16_r16)(i386_state *cpustate) // Opcode 0x39
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_r16_rm16)(i386_state *cpustate) // Opcode 0x3b
+static void __FASTCALL I386OP(cmp_r16_rm16)(i386_state *cpustate) // Opcode 0x3b
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_ax_i16)(i386_state *cpustate) // Opcode 0x3d
+static void __FASTCALL I386OP(cmp_ax_i16)(i386_state *cpustate) // Opcode 0x3d
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_CMP_IMM_ACC);
}
-static void I386OP(cmpsw)(i386_state *cpustate) // Opcode 0xa7
+static void __FASTCALL I386OP(cmpsw)(i386_state *cpustate) // Opcode 0xa7
{
UINT32 eas, ead;
UINT16 src, dst;
CYCLES(cpustate,CYCLES_CMPS);
}
-static void I386OP(cwd)(i386_state *cpustate) // Opcode 0x99
+static void __FASTCALL I386OP(cwd)(i386_state *cpustate) // Opcode 0x99
{
if( REG16(AX) & 0x8000 ) {
REG16(DX) = 0xffff;
CYCLES(cpustate,CYCLES_CWD);
}
-static void I386OP(dec_ax)(i386_state *cpustate) // Opcode 0x48
+static void __FASTCALL I386OP(dec_ax)(i386_state *cpustate) // Opcode 0x48
{
REG16(AX) = DEC16(cpustate, REG16(AX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_cx)(i386_state *cpustate) // Opcode 0x49
+static void __FASTCALL I386OP(dec_cx)(i386_state *cpustate) // Opcode 0x49
{
REG16(CX) = DEC16(cpustate, REG16(CX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_dx)(i386_state *cpustate) // Opcode 0x4a
+static void __FASTCALL I386OP(dec_dx)(i386_state *cpustate) // Opcode 0x4a
{
REG16(DX) = DEC16(cpustate, REG16(DX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_bx)(i386_state *cpustate) // Opcode 0x4b
+static void __FASTCALL I386OP(dec_bx)(i386_state *cpustate) // Opcode 0x4b
{
REG16(BX) = DEC16(cpustate, REG16(BX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_sp)(i386_state *cpustate) // Opcode 0x4c
+static void __FASTCALL I386OP(dec_sp)(i386_state *cpustate) // Opcode 0x4c
{
REG16(SP) = DEC16(cpustate, REG16(SP) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_bp)(i386_state *cpustate) // Opcode 0x4d
+static void __FASTCALL I386OP(dec_bp)(i386_state *cpustate) // Opcode 0x4d
{
REG16(BP) = DEC16(cpustate, REG16(BP) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_si)(i386_state *cpustate) // Opcode 0x4e
+static void __FASTCALL I386OP(dec_si)(i386_state *cpustate) // Opcode 0x4e
{
REG16(SI) = DEC16(cpustate, REG16(SI) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_di)(i386_state *cpustate) // Opcode 0x4f
+static void __FASTCALL I386OP(dec_di)(i386_state *cpustate) // Opcode 0x4f
{
REG16(DI) = DEC16(cpustate, REG16(DI) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(imul_r16_rm16)(i386_state *cpustate) // Opcode 0x0f af
+static void __FASTCALL I386OP(imul_r16_rm16)(i386_state *cpustate) // Opcode 0x0f af
{
UINT8 modrm = FETCH(cpustate);
INT32 result;
cpustate->CF = cpustate->OF = !(result == (INT32)(INT16)result);
}
-static void I386OP(imul_r16_rm16_i16)(i386_state *cpustate) // Opcode 0x69
+static void __FASTCALL I386OP(imul_r16_rm16_i16)(i386_state *cpustate) // Opcode 0x69
{
UINT8 modrm = FETCH(cpustate);
INT32 result;
cpustate->CF = cpustate->OF = !(result == (INT32)(INT16)result);
}
-static void I386OP(imul_r16_rm16_i8)(i386_state *cpustate) // Opcode 0x6b
+static void __FASTCALL I386OP(imul_r16_rm16_i8)(i386_state *cpustate) // Opcode 0x6b
{
UINT8 modrm = FETCH(cpustate);
INT32 result;
cpustate->CF = cpustate->OF = !(result == (INT32)(INT16)result);
}
-static void I386OP(in_ax_i8)(i386_state *cpustate) // Opcode 0xe5
+static void __FASTCALL I386OP(in_ax_i8)(i386_state *cpustate) // Opcode 0xe5
{
UINT16 port = FETCH(cpustate);
UINT16 data = READPORT16(cpustate, port);
CYCLES(cpustate,CYCLES_IN_VAR);
}
-static void I386OP(in_ax_dx)(i386_state *cpustate) // Opcode 0xed
+static void __FASTCALL I386OP(in_ax_dx)(i386_state *cpustate) // Opcode 0xed
{
UINT16 port = REG16(DX);
UINT16 data = READPORT16(cpustate, port);
CYCLES(cpustate,CYCLES_IN);
}
-static void I386OP(inc_ax)(i386_state *cpustate) // Opcode 0x40
+static void __FASTCALL I386OP(inc_ax)(i386_state *cpustate) // Opcode 0x40
{
REG16(AX) = INC16(cpustate, REG16(AX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_cx)(i386_state *cpustate) // Opcode 0x41
+static void __FASTCALL I386OP(inc_cx)(i386_state *cpustate) // Opcode 0x41
{
REG16(CX) = INC16(cpustate, REG16(CX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_dx)(i386_state *cpustate) // Opcode 0x42
+static void __FASTCALL I386OP(inc_dx)(i386_state *cpustate) // Opcode 0x42
{
REG16(DX) = INC16(cpustate, REG16(DX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_bx)(i386_state *cpustate) // Opcode 0x43
+static void __FASTCALL I386OP(inc_bx)(i386_state *cpustate) // Opcode 0x43
{
REG16(BX) = INC16(cpustate, REG16(BX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_sp)(i386_state *cpustate) // Opcode 0x44
+static void __FASTCALL I386OP(inc_sp)(i386_state *cpustate) // Opcode 0x44
{
REG16(SP) = INC16(cpustate, REG16(SP) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_bp)(i386_state *cpustate) // Opcode 0x45
+static void __FASTCALL I386OP(inc_bp)(i386_state *cpustate) // Opcode 0x45
{
REG16(BP) = INC16(cpustate, REG16(BP) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_si)(i386_state *cpustate) // Opcode 0x46
+static void __FASTCALL I386OP(inc_si)(i386_state *cpustate) // Opcode 0x46
{
REG16(SI) = INC16(cpustate, REG16(SI) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_di)(i386_state *cpustate) // Opcode 0x47
+static void __FASTCALL I386OP(inc_di)(i386_state *cpustate) // Opcode 0x47
{
REG16(DI) = INC16(cpustate, REG16(DI) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(iret16)(i386_state *cpustate) // Opcode 0xcf
+static void __FASTCALL I386OP(iret16)(i386_state *cpustate) // Opcode 0xcf
{
if( PROTECTED_MODE )
{
CYCLES(cpustate,CYCLES_IRET);
}
-static void I386OP(ja_rel16)(i386_state *cpustate) // Opcode 0x0f 87
+static void __FASTCALL I386OP(ja_rel16)(i386_state *cpustate) // Opcode 0x0f 87
{
INT16 disp = FETCH16(cpustate);
if( cpustate->CF == 0 && cpustate->ZF == 0 ) {
}
}
-static void I386OP(jbe_rel16)(i386_state *cpustate) // Opcode 0x0f 86
+static void __FASTCALL I386OP(jbe_rel16)(i386_state *cpustate) // Opcode 0x0f 86
{
INT16 disp = FETCH16(cpustate);
if( cpustate->CF != 0 || cpustate->ZF != 0 ) {
}
}
-static void I386OP(jc_rel16)(i386_state *cpustate) // Opcode 0x0f 82
+static void __FASTCALL I386OP(jc_rel16)(i386_state *cpustate) // Opcode 0x0f 82
{
INT16 disp = FETCH16(cpustate);
if( cpustate->CF != 0 ) {
}
}
-static void I386OP(jg_rel16)(i386_state *cpustate) // Opcode 0x0f 8f
+static void __FASTCALL I386OP(jg_rel16)(i386_state *cpustate) // Opcode 0x0f 8f
{
INT16 disp = FETCH16(cpustate);
if( cpustate->ZF == 0 && (cpustate->SF == cpustate->OF) ) {
}
}
-static void I386OP(jge_rel16)(i386_state *cpustate) // Opcode 0x0f 8d
+static void __FASTCALL I386OP(jge_rel16)(i386_state *cpustate) // Opcode 0x0f 8d
{
INT16 disp = FETCH16(cpustate);
if(cpustate->SF == cpustate->OF) {
}
}
-static void I386OP(jl_rel16)(i386_state *cpustate) // Opcode 0x0f 8c
+static void __FASTCALL I386OP(jl_rel16)(i386_state *cpustate) // Opcode 0x0f 8c
{
INT16 disp = FETCH16(cpustate);
if( (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jle_rel16)(i386_state *cpustate) // Opcode 0x0f 8e
+static void __FASTCALL I386OP(jle_rel16)(i386_state *cpustate) // Opcode 0x0f 8e
{
INT16 disp = FETCH16(cpustate);
if( cpustate->ZF != 0 || (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jnc_rel16)(i386_state *cpustate) // Opcode 0x0f 83
+static void __FASTCALL I386OP(jnc_rel16)(i386_state *cpustate) // Opcode 0x0f 83
{
INT16 disp = FETCH16(cpustate);
if( cpustate->CF == 0 ) {
}
}
-static void I386OP(jno_rel16)(i386_state *cpustate) // Opcode 0x0f 81
+static void __FASTCALL I386OP(jno_rel16)(i386_state *cpustate) // Opcode 0x0f 81
{
INT16 disp = FETCH16(cpustate);
if( cpustate->OF == 0 ) {
}
}
-static void I386OP(jnp_rel16)(i386_state *cpustate) // Opcode 0x0f 8b
+static void __FASTCALL I386OP(jnp_rel16)(i386_state *cpustate) // Opcode 0x0f 8b
{
INT16 disp = FETCH16(cpustate);
if( cpustate->PF == 0 ) {
}
}
-static void I386OP(jns_rel16)(i386_state *cpustate) // Opcode 0x0f 89
+static void __FASTCALL I386OP(jns_rel16)(i386_state *cpustate) // Opcode 0x0f 89
{
INT16 disp = FETCH16(cpustate);
if( cpustate->SF == 0 ) {
}
}
-static void I386OP(jnz_rel16)(i386_state *cpustate) // Opcode 0x0f 85
+static void __FASTCALL I386OP(jnz_rel16)(i386_state *cpustate) // Opcode 0x0f 85
{
INT16 disp = FETCH16(cpustate);
if( cpustate->ZF == 0 ) {
}
}
-static void I386OP(jo_rel16)(i386_state *cpustate) // Opcode 0x0f 80
+static void __FASTCALL I386OP(jo_rel16)(i386_state *cpustate) // Opcode 0x0f 80
{
INT16 disp = FETCH16(cpustate);
if( cpustate->OF != 0 ) {
}
}
-static void I386OP(jp_rel16)(i386_state *cpustate) // Opcode 0x0f 8a
+static void __FASTCALL I386OP(jp_rel16)(i386_state *cpustate) // Opcode 0x0f 8a
{
INT16 disp = FETCH16(cpustate);
if( cpustate->PF != 0 ) {
}
}
-static void I386OP(js_rel16)(i386_state *cpustate) // Opcode 0x0f 88
+static void __FASTCALL I386OP(js_rel16)(i386_state *cpustate) // Opcode 0x0f 88
{
INT16 disp = FETCH16(cpustate);
if( cpustate->SF != 0 ) {
}
}
-static void I386OP(jz_rel16)(i386_state *cpustate) // Opcode 0x0f 84
+static void __FASTCALL I386OP(jz_rel16)(i386_state *cpustate) // Opcode 0x0f 84
{
INT16 disp = FETCH16(cpustate);
if( cpustate->ZF != 0 ) {
}
}
-static void I386OP(jcxz16)(i386_state *cpustate) // Opcode 0xe3
+static void __FASTCALL I386OP(jcxz16)(i386_state *cpustate) // Opcode 0xe3
{
INT8 disp = FETCH(cpustate);
int val = (cpustate->address_size)?(REG32(ECX) == 0):(REG16(CX) == 0);
}
}
-static void I386OP(jmp_rel16)(i386_state *cpustate) // Opcode 0xe9
+static void __FASTCALL I386OP(jmp_rel16)(i386_state *cpustate) // Opcode 0xe9
{
INT16 disp = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_JMP); /* TODO: Timing = 7 + m */
}
-static void I386OP(jmp_abs16)(i386_state *cpustate) // Opcode 0xea
+static void __FASTCALL I386OP(jmp_abs16)(i386_state *cpustate) // Opcode 0xea
{
UINT16 address = FETCH16(cpustate);
UINT16 segment = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_JMP_INTERSEG);
}
-static void I386OP(lea16)(i386_state *cpustate) // Opcode 0x8d
+static void __FASTCALL I386OP(lea16)(i386_state *cpustate) // Opcode 0x8d
{
UINT8 modrm = FETCH(cpustate);
UINT32 ea = GetNonTranslatedEA(cpustate,modrm,NULL);
CYCLES(cpustate,CYCLES_LEA);
}
-static void I386OP(enter16)(i386_state *cpustate) // Opcode 0xc8
+static void __FASTCALL I386OP(enter16)(i386_state *cpustate) // Opcode 0xc8
{
UINT16 framesize = FETCH16(cpustate);
UINT8 level = FETCH(cpustate) % 32;
CYCLES(cpustate,CYCLES_ENTER);
}
-static void I386OP(leave16)(i386_state *cpustate) // Opcode 0xc9
+static void __FASTCALL I386OP(leave16)(i386_state *cpustate) // Opcode 0xc9
{
if(!STACK_32BIT)
REG16(SP) = REG16(BP);
CYCLES(cpustate,CYCLES_LEAVE);
}
-static void I386OP(lodsw)(i386_state *cpustate) // Opcode 0xad
+static void __FASTCALL I386OP(lodsw)(i386_state *cpustate) // Opcode 0xad
{
UINT32 eas;
if( cpustate->segment_prefix ) {
CYCLES(cpustate,CYCLES_LODS);
}
-static void I386OP(loop16)(i386_state *cpustate) // Opcode 0xe2
+static void __FASTCALL I386OP(loop16)(i386_state *cpustate) // Opcode 0xe2
{
INT8 disp = FETCH(cpustate);
INT32 val = (cpustate->address_size)?(--REG32(ECX)):(--REG16(CX));
CYCLES(cpustate,CYCLES_LOOP); /* TODO: Timing = 11 + m */
}
-static void I386OP(loopne16)(i386_state *cpustate) // Opcode 0xe0
+static void __FASTCALL I386OP(loopne16)(i386_state *cpustate) // Opcode 0xe0
{
INT8 disp = FETCH(cpustate);
INT32 val = (cpustate->address_size)?(--REG32(ECX)):(--REG16(CX));
CYCLES(cpustate,CYCLES_LOOPNZ); /* TODO: Timing = 11 + m */
}
-static void I386OP(loopz16)(i386_state *cpustate) // Opcode 0xe1
+static void __FASTCALL I386OP(loopz16)(i386_state *cpustate) // Opcode 0xe1
{
INT8 disp = FETCH(cpustate);
INT32 val = (cpustate->address_size)?(--REG32(ECX)):(--REG16(CX));
CYCLES(cpustate,CYCLES_LOOPZ); /* TODO: Timing = 11 + m */
}
-static void I386OP(mov_rm16_r16)(i386_state *cpustate) // Opcode 0x89
+static void __FASTCALL I386OP(mov_rm16_r16)(i386_state *cpustate) // Opcode 0x89
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_r16_rm16)(i386_state *cpustate) // Opcode 0x8b
+static void __FASTCALL I386OP(mov_r16_rm16)(i386_state *cpustate) // Opcode 0x8b
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_rm16_i16)(i386_state *cpustate) // Opcode 0xc7
+static void __FASTCALL I386OP(mov_rm16_i16)(i386_state *cpustate) // Opcode 0xc7
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(mov_ax_m16)(i386_state *cpustate) // Opcode 0xa1
+static void __FASTCALL I386OP(mov_ax_m16)(i386_state *cpustate) // Opcode 0xa1
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_MEM_ACC);
}
-static void I386OP(mov_m16_ax)(i386_state *cpustate) // Opcode 0xa3
+static void __FASTCALL I386OP(mov_m16_ax)(i386_state *cpustate) // Opcode 0xa3
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_ACC_MEM);
}
-static void I386OP(mov_ax_i16)(i386_state *cpustate) // Opcode 0xb8
+static void __FASTCALL I386OP(mov_ax_i16)(i386_state *cpustate) // Opcode 0xb8
{
REG16(AX) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_cx_i16)(i386_state *cpustate) // Opcode 0xb9
+static void __FASTCALL I386OP(mov_cx_i16)(i386_state *cpustate) // Opcode 0xb9
{
REG16(CX) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_dx_i16)(i386_state *cpustate) // Opcode 0xba
+static void __FASTCALL I386OP(mov_dx_i16)(i386_state *cpustate) // Opcode 0xba
{
REG16(DX) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_bx_i16)(i386_state *cpustate) // Opcode 0xbb
+static void __FASTCALL I386OP(mov_bx_i16)(i386_state *cpustate) // Opcode 0xbb
{
REG16(BX) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_sp_i16)(i386_state *cpustate) // Opcode 0xbc
+static void __FASTCALL I386OP(mov_sp_i16)(i386_state *cpustate) // Opcode 0xbc
{
REG16(SP) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_bp_i16)(i386_state *cpustate) // Opcode 0xbd
+static void __FASTCALL I386OP(mov_bp_i16)(i386_state *cpustate) // Opcode 0xbd
{
REG16(BP) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_si_i16)(i386_state *cpustate) // Opcode 0xbe
+static void __FASTCALL I386OP(mov_si_i16)(i386_state *cpustate) // Opcode 0xbe
{
REG16(SI) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_di_i16)(i386_state *cpustate) // Opcode 0xbf
+static void __FASTCALL I386OP(mov_di_i16)(i386_state *cpustate) // Opcode 0xbf
{
REG16(DI) = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(movsw)(i386_state *cpustate) // Opcode 0xa5
+static void __FASTCALL I386OP(movsw)(i386_state *cpustate) // Opcode 0xa5
{
UINT32 eas, ead;
UINT16 v;
CYCLES(cpustate,CYCLES_MOVS);
}
-static void I386OP(movsx_r16_rm8)(i386_state *cpustate) // Opcode 0x0f be
+static void __FASTCALL I386OP(movsx_r16_rm8)(i386_state *cpustate) // Opcode 0x0f be
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(movzx_r16_rm8)(i386_state *cpustate) // Opcode 0x0f b6
+static void __FASTCALL I386OP(movzx_r16_rm8)(i386_state *cpustate) // Opcode 0x0f b6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(or_rm16_r16)(i386_state *cpustate) // Opcode 0x09
+static void __FASTCALL I386OP(or_rm16_r16)(i386_state *cpustate) // Opcode 0x09
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_r16_rm16)(i386_state *cpustate) // Opcode 0x0b
+static void __FASTCALL I386OP(or_r16_rm16)(i386_state *cpustate) // Opcode 0x0b
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_ax_i16)(i386_state *cpustate) // Opcode 0x0d
+static void __FASTCALL I386OP(or_ax_i16)(i386_state *cpustate) // Opcode 0x0d
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(out_ax_i8)(i386_state *cpustate) // Opcode 0xe7
+static void __FASTCALL I386OP(out_ax_i8)(i386_state *cpustate) // Opcode 0xe7
{
UINT16 port = FETCH(cpustate);
UINT16 data = REG16(AX);
CYCLES(cpustate,CYCLES_OUT_VAR);
}
-static void I386OP(out_ax_dx)(i386_state *cpustate) // Opcode 0xef
+static void __FASTCALL I386OP(out_ax_dx)(i386_state *cpustate) // Opcode 0xef
{
UINT16 port = REG16(DX);
UINT16 data = REG16(AX);
CYCLES(cpustate,CYCLES_OUT);
}
-static void I386OP(pop_ax)(i386_state *cpustate) // Opcode 0x58
+static void __FASTCALL I386OP(pop_ax)(i386_state *cpustate) // Opcode 0x58
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_cx)(i386_state *cpustate) // Opcode 0x59
+static void __FASTCALL I386OP(pop_cx)(i386_state *cpustate) // Opcode 0x59
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_dx)(i386_state *cpustate) // Opcode 0x5a
+static void __FASTCALL I386OP(pop_dx)(i386_state *cpustate) // Opcode 0x5a
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_bx)(i386_state *cpustate) // Opcode 0x5b
+static void __FASTCALL I386OP(pop_bx)(i386_state *cpustate) // Opcode 0x5b
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_sp)(i386_state *cpustate) // Opcode 0x5c
+static void __FASTCALL I386OP(pop_sp)(i386_state *cpustate) // Opcode 0x5c
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_bp)(i386_state *cpustate) // Opcode 0x5d
+static void __FASTCALL I386OP(pop_bp)(i386_state *cpustate) // Opcode 0x5d
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_si)(i386_state *cpustate) // Opcode 0x5e
+static void __FASTCALL I386OP(pop_si)(i386_state *cpustate) // Opcode 0x5e
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_di)(i386_state *cpustate) // Opcode 0x5f
+static void __FASTCALL I386OP(pop_di)(i386_state *cpustate) // Opcode 0x5f
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,2) == 0)
return true;
}
-static void I386OP(pop_ds16)(i386_state *cpustate) // Opcode 0x1f
+static void __FASTCALL I386OP(pop_ds16)(i386_state *cpustate) // Opcode 0x1f
{
I386OP(pop_seg16)(cpustate, DS);
}
-static void I386OP(pop_es16)(i386_state *cpustate) // Opcode 0x07
+static void __FASTCALL I386OP(pop_es16)(i386_state *cpustate) // Opcode 0x07
{
I386OP(pop_seg16)(cpustate, ES);
}
-static void I386OP(pop_fs16)(i386_state *cpustate) // Opcode 0x0f a1
+static void __FASTCALL I386OP(pop_fs16)(i386_state *cpustate) // Opcode 0x0f a1
{
I386OP(pop_seg16)(cpustate, FS);
}
-static void I386OP(pop_gs16)(i386_state *cpustate) // Opcode 0x0f a9
+static void __FASTCALL I386OP(pop_gs16)(i386_state *cpustate) // Opcode 0x0f a9
{
I386OP(pop_seg16)(cpustate, GS);
}
-static void I386OP(pop_ss16)(i386_state *cpustate) // Opcode 0x17
+static void __FASTCALL I386OP(pop_ss16)(i386_state *cpustate) // Opcode 0x17
{
if(!I386OP(pop_seg16)(cpustate, SS)) return;
if(cpustate->IF != 0) // if external interrupts are enabled
}
}
-static void I386OP(pop_rm16)(i386_state *cpustate) // Opcode 0x8f
+static void __FASTCALL I386OP(pop_rm16)(i386_state *cpustate) // Opcode 0x8f
{
UINT8 modrm = FETCH(cpustate);
UINT16 value;
CYCLES(cpustate,CYCLES_POP_RM);
}
-static void I386OP(popa)(i386_state *cpustate) // Opcode 0x61
+static void __FASTCALL I386OP(popa)(i386_state *cpustate) // Opcode 0x61
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
CYCLES(cpustate,CYCLES_POPA);
}
-static void I386OP(popf)(i386_state *cpustate) // Opcode 0x9d
+static void __FASTCALL I386OP(popf)(i386_state *cpustate) // Opcode 0x9d
{
UINT32 value;
UINT32 current = get_flags(cpustate);
CYCLES(cpustate,CYCLES_POPF);
}
-static void I386OP(push_ax)(i386_state *cpustate) // Opcode 0x50
+static void __FASTCALL I386OP(push_ax)(i386_state *cpustate) // Opcode 0x50
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_cx)(i386_state *cpustate) // Opcode 0x51
+static void __FASTCALL I386OP(push_cx)(i386_state *cpustate) // Opcode 0x51
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_dx)(i386_state *cpustate) // Opcode 0x52
+static void __FASTCALL I386OP(push_dx)(i386_state *cpustate) // Opcode 0x52
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_bx)(i386_state *cpustate) // Opcode 0x53
+static void __FASTCALL I386OP(push_bx)(i386_state *cpustate) // Opcode 0x53
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_sp)(i386_state *cpustate) // Opcode 0x54
+static void __FASTCALL I386OP(push_sp)(i386_state *cpustate) // Opcode 0x54
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_bp)(i386_state *cpustate) // Opcode 0x55
+static void __FASTCALL I386OP(push_bp)(i386_state *cpustate) // Opcode 0x55
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_si)(i386_state *cpustate) // Opcode 0x56
+static void __FASTCALL I386OP(push_si)(i386_state *cpustate) // Opcode 0x56
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_di)(i386_state *cpustate) // Opcode 0x57
+static void __FASTCALL I386OP(push_di)(i386_state *cpustate) // Opcode 0x57
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_cs16)(i386_state *cpustate) // Opcode 0x0e
+static void __FASTCALL I386OP(push_cs16)(i386_state *cpustate) // Opcode 0x0e
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_ds16)(i386_state *cpustate) // Opcode 0x1e
+static void __FASTCALL I386OP(push_ds16)(i386_state *cpustate) // Opcode 0x1e
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_es16)(i386_state *cpustate) // Opcode 0x06
+static void __FASTCALL I386OP(push_es16)(i386_state *cpustate) // Opcode 0x06
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_fs16)(i386_state *cpustate) // Opcode 0x0f a0
+static void __FASTCALL I386OP(push_fs16)(i386_state *cpustate) // Opcode 0x0f a0
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_gs16)(i386_state *cpustate) // Opcode 0x0f a8
+static void __FASTCALL I386OP(push_gs16)(i386_state *cpustate) // Opcode 0x0f a8
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_ss16)(i386_state *cpustate) // Opcode 0x16
+static void __FASTCALL I386OP(push_ss16)(i386_state *cpustate) // Opcode 0x16
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_i16)(i386_state *cpustate) // Opcode 0x68
+static void __FASTCALL I386OP(push_i16)(i386_state *cpustate) // Opcode 0x68
{
UINT16 value = FETCH16(cpustate);
UINT32 offset;
CYCLES(cpustate,CYCLES_PUSH_IMM);
}
-static void I386OP(pusha)(i386_state *cpustate) // Opcode 0x60
+static void __FASTCALL I386OP(pusha)(i386_state *cpustate) // Opcode 0x60
{
UINT16 temp = REG16(SP);
UINT32 offset;
CYCLES(cpustate,CYCLES_PUSHA);
}
-static void I386OP(pushf)(i386_state *cpustate) // Opcode 0x9c
+static void __FASTCALL I386OP(pushf)(i386_state *cpustate) // Opcode 0x9c
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSHF);
}
-static void I386OP(ret_near16_i16)(i386_state *cpustate) // Opcode 0xc2
+static void __FASTCALL I386OP(ret_near16_i16)(i386_state *cpustate) // Opcode 0xc2
{
INT16 disp = FETCH16(cpustate);
cpustate->eip = POP16(cpustate);
CYCLES(cpustate,CYCLES_RET_IMM); /* TODO: Timing = 10 + m */
}
-static void I386OP(ret_near16)(i386_state *cpustate) // Opcode 0xc3
+static void __FASTCALL I386OP(ret_near16)(i386_state *cpustate) // Opcode 0xc3
{
cpustate->eip = POP16(cpustate);
CHANGE_PC(cpustate,cpustate->eip);
CYCLES(cpustate,CYCLES_RET); /* TODO: Timing = 10 + m */
}
-static void I386OP(sbb_rm16_r16)(i386_state *cpustate) // Opcode 0x19
+static void __FASTCALL I386OP(sbb_rm16_r16)(i386_state *cpustate) // Opcode 0x19
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_r16_rm16)(i386_state *cpustate) // Opcode 0x1b
+static void __FASTCALL I386OP(sbb_r16_rm16)(i386_state *cpustate) // Opcode 0x1b
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_ax_i16)(i386_state *cpustate) // Opcode 0x1d
+static void __FASTCALL I386OP(sbb_ax_i16)(i386_state *cpustate) // Opcode 0x1d
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(scasw)(i386_state *cpustate) // Opcode 0xaf
+static void __FASTCALL I386OP(scasw)(i386_state *cpustate) // Opcode 0xaf
{
UINT32 eas;
UINT16 src, dst;
CYCLES(cpustate,CYCLES_SCAS);
}
-static void I386OP(shld16_i8)(i386_state *cpustate) // Opcode 0x0f a4
+static void __FASTCALL I386OP(shld16_i8)(i386_state *cpustate) // Opcode 0x0f a4
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shld16_cl)(i386_state *cpustate) // Opcode 0x0f a5
+static void __FASTCALL I386OP(shld16_cl)(i386_state *cpustate) // Opcode 0x0f a5
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shrd16_i8)(i386_state *cpustate) // Opcode 0x0f ac
+static void __FASTCALL I386OP(shrd16_i8)(i386_state *cpustate) // Opcode 0x0f ac
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shrd16_cl)(i386_state *cpustate) // Opcode 0x0f ad
+static void __FASTCALL I386OP(shrd16_cl)(i386_state *cpustate) // Opcode 0x0f ad
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(stosw)(i386_state *cpustate) // Opcode 0xab
+static void __FASTCALL I386OP(stosw)(i386_state *cpustate) // Opcode 0xab
{
UINT32 ead;
ead = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI), 1, 2 );
CYCLES(cpustate,CYCLES_STOS);
}
-static void I386OP(sub_rm16_r16)(i386_state *cpustate) // Opcode 0x29
+static void __FASTCALL I386OP(sub_rm16_r16)(i386_state *cpustate) // Opcode 0x29
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_r16_rm16)(i386_state *cpustate) // Opcode 0x2b
+static void __FASTCALL I386OP(sub_r16_rm16)(i386_state *cpustate) // Opcode 0x2b
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_ax_i16)(i386_state *cpustate) // Opcode 0x2d
+static void __FASTCALL I386OP(sub_ax_i16)(i386_state *cpustate) // Opcode 0x2d
{
UINT16 src, dst;
src = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(test_ax_i16)(i386_state *cpustate) // Opcode 0xa9
+static void __FASTCALL I386OP(test_ax_i16)(i386_state *cpustate) // Opcode 0xa9
{
UINT16 src = FETCH16(cpustate);
UINT16 dst = REG16(AX);
CYCLES(cpustate,CYCLES_TEST_IMM_ACC);
}
-static void I386OP(test_rm16_r16)(i386_state *cpustate) // Opcode 0x85
+static void __FASTCALL I386OP(test_rm16_r16)(i386_state *cpustate) // Opcode 0x85
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xchg_ax_cx)(i386_state *cpustate) // Opcode 0x91
+static void __FASTCALL I386OP(xchg_ax_cx)(i386_state *cpustate) // Opcode 0x91
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_dx)(i386_state *cpustate) // Opcode 0x92
+static void __FASTCALL I386OP(xchg_ax_dx)(i386_state *cpustate) // Opcode 0x92
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_bx)(i386_state *cpustate) // Opcode 0x93
+static void __FASTCALL I386OP(xchg_ax_bx)(i386_state *cpustate) // Opcode 0x93
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_sp)(i386_state *cpustate) // Opcode 0x94
+static void __FASTCALL I386OP(xchg_ax_sp)(i386_state *cpustate) // Opcode 0x94
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_bp)(i386_state *cpustate) // Opcode 0x95
+static void __FASTCALL I386OP(xchg_ax_bp)(i386_state *cpustate) // Opcode 0x95
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_si)(i386_state *cpustate) // Opcode 0x96
+static void __FASTCALL I386OP(xchg_ax_si)(i386_state *cpustate) // Opcode 0x96
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_ax_di)(i386_state *cpustate) // Opcode 0x97
+static void __FASTCALL I386OP(xchg_ax_di)(i386_state *cpustate) // Opcode 0x97
{
UINT16 temp;
temp = REG16(AX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_r16_rm16)(i386_state *cpustate) // Opcode 0x87
+static void __FASTCALL I386OP(xchg_r16_rm16)(i386_state *cpustate) // Opcode 0x87
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(xor_rm16_r16)(i386_state *cpustate) // Opcode 0x31
+static void __FASTCALL I386OP(xor_rm16_r16)(i386_state *cpustate) // Opcode 0x31
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_r16_rm16)(i386_state *cpustate) // Opcode 0x33
+static void __FASTCALL I386OP(xor_r16_rm16)(i386_state *cpustate) // Opcode 0x33
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_ax_i16)(i386_state *cpustate) // Opcode 0x35
+static void __FASTCALL I386OP(xor_ax_i16)(i386_state *cpustate) // Opcode 0x35
{
UINT16 src, dst;
src = FETCH16(cpustate);
-static void I386OP(group81_16)(i386_state *cpustate) // Opcode 0x81
+static void __FASTCALL I386OP(group81_16)(i386_state *cpustate) // Opcode 0x81
{
UINT32 ea;
UINT16 src, dst;
}
}
-static void I386OP(group83_16)(i386_state *cpustate) // Opcode 0x83
+static void __FASTCALL I386OP(group83_16)(i386_state *cpustate) // Opcode 0x83
{
UINT32 ea;
UINT16 src, dst;
}
}
-static void I386OP(groupC1_16)(i386_state *cpustate) // Opcode 0xc1
+static void __FASTCALL I386OP(groupC1_16)(i386_state *cpustate) // Opcode 0xc1
{
UINT16 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD1_16)(i386_state *cpustate) // Opcode 0xd1
+static void __FASTCALL I386OP(groupD1_16)(i386_state *cpustate) // Opcode 0xd1
{
UINT16 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD3_16)(i386_state *cpustate) // Opcode 0xd3
+static void __FASTCALL I386OP(groupD3_16)(i386_state *cpustate) // Opcode 0xd3
{
UINT16 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupF7_16)(i386_state *cpustate) // Opcode 0xf7
+static void __FASTCALL I386OP(groupF7_16)(i386_state *cpustate) // Opcode 0xf7
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupFF_16)(i386_state *cpustate) // Opcode 0xff
+static void __FASTCALL I386OP(groupFF_16)(i386_state *cpustate) // Opcode 0xff
{
UINT8 modrm = FETCH(cpustate);
extern void i386_change_protect_mode(i386_state *cpustate, int val);
extern void i386_change_paging_mode(i386_state *cpustate, int val);
-static void I386OP(group0F00_16)(i386_state *cpustate) // Opcode 0x0f 00
+static void __FASTCALL I386OP(group0F00_16)(i386_state *cpustate) // Opcode 0x0f 00
{
UINT32 address, ea;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(group0F01_16)(i386_state *cpustate) // Opcode 0x0f 01
+static void __FASTCALL I386OP(group0F01_16)(i386_state *cpustate) // Opcode 0x0f 01
{
UINT8 modrm = FETCH(cpustate);
UINT16 address;
}
}
-static void I386OP(group0FBA_16)(i386_state *cpustate) // Opcode 0x0f ba
+static void __FASTCALL I386OP(group0FBA_16)(i386_state *cpustate) // Opcode 0x0f ba
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(lar_r16_rm16)(i386_state *cpustate) // Opcode 0x0f 0x02
+static void __FASTCALL I386OP(lar_r16_rm16)(i386_state *cpustate) // Opcode 0x0f 0x02
{
UINT8 modrm = FETCH(cpustate);
I386_SREG seg;
}
}
-static void I386OP(lsl_r16_rm16)(i386_state *cpustate) // Opcode 0x0f 0x03
+static void __FASTCALL I386OP(lsl_r16_rm16)(i386_state *cpustate) // Opcode 0x0f 0x03
{
UINT8 modrm = FETCH(cpustate);
UINT32 limit;
}
}
-static void I386OP(bound_r16_m16_m16)(i386_state *cpustate) // Opcode 0x62
+static void __FASTCALL I386OP(bound_r16_m16_m16)(i386_state *cpustate) // Opcode 0x62
{
UINT8 modrm;
INT16 val, low, high;
}
}
-static void I386OP(retf16)(i386_state *cpustate) // Opcode 0xcb
+static void __FASTCALL I386OP(retf16)(i386_state *cpustate) // Opcode 0xcb
{
if(PROTECTED_MODE && !V8086_MODE)
{
CYCLES(cpustate,CYCLES_RET_INTERSEG);
}
-static void I386OP(retf_i16)(i386_state *cpustate) // Opcode 0xca
+static void __FASTCALL I386OP(retf_i16)(i386_state *cpustate) // Opcode 0xca
{
UINT16 count = FETCH16(cpustate);
return true;
}
-static void I386OP(lds16)(i386_state *cpustate) // Opcode 0xc5
+static void __FASTCALL I386OP(lds16)(i386_state *cpustate) // Opcode 0xc5
{
if(I386OP(load_far_pointer16)(cpustate, DS))
CYCLES(cpustate,CYCLES_LDS);
}
-static void I386OP(lss16)(i386_state *cpustate) // Opcode 0x0f 0xb2
+static void __FASTCALL I386OP(lss16)(i386_state *cpustate) // Opcode 0x0f 0xb2
{
if(I386OP(load_far_pointer16)(cpustate, SS))
CYCLES(cpustate,CYCLES_LSS);
}
-static void I386OP(les16)(i386_state *cpustate) // Opcode 0xc4
+static void __FASTCALL I386OP(les16)(i386_state *cpustate) // Opcode 0xc4
{
if(I386OP(load_far_pointer16)(cpustate, ES))
CYCLES(cpustate,CYCLES_LES);
}
-static void I386OP(lfs16)(i386_state *cpustate) // Opcode 0x0f 0xb4
+static void __FASTCALL I386OP(lfs16)(i386_state *cpustate) // Opcode 0x0f 0xb4
{
if(I386OP(load_far_pointer16)(cpustate, FS))
CYCLES(cpustate,CYCLES_LFS);
}
-static void I386OP(lgs16)(i386_state *cpustate) // Opcode 0x0f 0xb5
+static void __FASTCALL I386OP(lgs16)(i386_state *cpustate) // Opcode 0x0f 0xb5
{
if(I386OP(load_far_pointer16)(cpustate, GS))
CYCLES(cpustate,CYCLES_LGS);
// license:BSD-3-Clause
// copyright-holders:Ville Linde, Barry Rodewald, Carl, Philip Bennett
-static UINT32 I386OP(shift_rotate32)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
+static UINT32 __FASTCALL I386OP(shift_rotate32)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
{
UINT32 dst, src;
dst = value;
-static void I386OP(adc_rm32_r32)(i386_state *cpustate) // Opcode 0x11
+static void __FASTCALL I386OP(adc_rm32_r32)(i386_state *cpustate) // Opcode 0x11
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_r32_rm32)(i386_state *cpustate) // Opcode 0x13
+static void __FASTCALL I386OP(adc_r32_rm32)(i386_state *cpustate) // Opcode 0x13
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_eax_i32)(i386_state *cpustate) // Opcode 0x15
+static void __FASTCALL I386OP(adc_eax_i32)(i386_state *cpustate) // Opcode 0x15
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(add_rm32_r32)(i386_state *cpustate) // Opcode 0x01
+static void __FASTCALL I386OP(add_rm32_r32)(i386_state *cpustate) // Opcode 0x01
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_r32_rm32)(i386_state *cpustate) // Opcode 0x03
+static void __FASTCALL I386OP(add_r32_rm32)(i386_state *cpustate) // Opcode 0x03
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_eax_i32)(i386_state *cpustate) // Opcode 0x05
+static void __FASTCALL I386OP(add_eax_i32)(i386_state *cpustate) // Opcode 0x05
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(and_rm32_r32)(i386_state *cpustate) // Opcode 0x21
+static void __FASTCALL I386OP(and_rm32_r32)(i386_state *cpustate) // Opcode 0x21
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_r32_rm32)(i386_state *cpustate) // Opcode 0x23
+static void __FASTCALL I386OP(and_r32_rm32)(i386_state *cpustate) // Opcode 0x23
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_eax_i32)(i386_state *cpustate) // Opcode 0x25
+static void __FASTCALL I386OP(and_eax_i32)(i386_state *cpustate) // Opcode 0x25
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(bsf_r32_rm32)(i386_state *cpustate) // Opcode 0x0f bc
+static void __FASTCALL I386OP(bsf_r32_rm32)(i386_state *cpustate) // Opcode 0x0f bc
{
UINT32 src, dst, temp;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,CYCLES_BSF_BASE);
}
-static void I386OP(bsr_r32_rm32)(i386_state *cpustate) // Opcode 0x0f bd
+static void __FASTCALL I386OP(bsr_r32_rm32)(i386_state *cpustate) // Opcode 0x0f bd
{
UINT32 src, dst, temp;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,CYCLES_BSR_BASE);
}
-static void I386OP(bt_rm32_r32)(i386_state *cpustate) // Opcode 0x0f a3
+static void __FASTCALL I386OP(bt_rm32_r32)(i386_state *cpustate) // Opcode 0x0f a3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(btc_rm32_r32)(i386_state *cpustate) // Opcode 0x0f bb
+static void __FASTCALL I386OP(btc_rm32_r32)(i386_state *cpustate) // Opcode 0x0f bb
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(btr_rm32_r32)(i386_state *cpustate) // Opcode 0x0f b3
+static void __FASTCALL I386OP(btr_rm32_r32)(i386_state *cpustate) // Opcode 0x0f b3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(bts_rm32_r32)(i386_state *cpustate) // Opcode 0x0f ab
+static void __FASTCALL I386OP(bts_rm32_r32)(i386_state *cpustate) // Opcode 0x0f ab
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(call_abs32)(i386_state *cpustate) // Opcode 0x9a
+static void __FASTCALL I386OP(call_abs32)(i386_state *cpustate) // Opcode 0x9a
{
UINT32 offset = FETCH32(cpustate);
UINT16 ptr = FETCH16(cpustate);
CHANGE_PC(cpustate,cpustate->eip);
}
-static void I386OP(call_rel32)(i386_state *cpustate) // Opcode 0xe8
+static void __FASTCALL I386OP(call_rel32)(i386_state *cpustate) // Opcode 0xe8
{
INT32 disp = FETCH32(cpustate);
PUSH32(cpustate, cpustate->eip );
CYCLES(cpustate,CYCLES_CALL); /* TODO: Timing = 7 + m */
}
-static void I386OP(cdq)(i386_state *cpustate) // Opcode 0x99
+static void __FASTCALL I386OP(cdq)(i386_state *cpustate) // Opcode 0x99
{
if( REG32(EAX) & 0x80000000 ) {
REG32(EDX) = 0xffffffff;
CYCLES(cpustate,CYCLES_CWD);
}
-static void I386OP(cmp_rm32_r32)(i386_state *cpustate) // Opcode 0x39
+static void __FASTCALL I386OP(cmp_rm32_r32)(i386_state *cpustate) // Opcode 0x39
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_r32_rm32)(i386_state *cpustate) // Opcode 0x3b
+static void __FASTCALL I386OP(cmp_r32_rm32)(i386_state *cpustate) // Opcode 0x3b
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_eax_i32)(i386_state *cpustate) // Opcode 0x3d
+static void __FASTCALL I386OP(cmp_eax_i32)(i386_state *cpustate) // Opcode 0x3d
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_CMP_IMM_ACC);
}
-static void I386OP(cmpsd)(i386_state *cpustate) // Opcode 0xa7
+static void __FASTCALL I386OP(cmpsd)(i386_state *cpustate) // Opcode 0xa7
{
UINT32 eas, ead, src, dst;
if( cpustate->segment_prefix ) {
CYCLES(cpustate,CYCLES_CMPS);
}
-static void I386OP(cwde)(i386_state *cpustate) // Opcode 0x98
+static void __FASTCALL I386OP(cwde)(i386_state *cpustate) // Opcode 0x98
{
REG32(EAX) = (INT32)((INT16)REG16(AX));
CYCLES(cpustate,CYCLES_CBW);
}
-static void I386OP(dec_eax)(i386_state *cpustate) // Opcode 0x48
+static void __FASTCALL I386OP(dec_eax)(i386_state *cpustate) // Opcode 0x48
{
REG32(EAX) = DEC32(cpustate, REG32(EAX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_ecx)(i386_state *cpustate) // Opcode 0x49
+static void __FASTCALL I386OP(dec_ecx)(i386_state *cpustate) // Opcode 0x49
{
REG32(ECX) = DEC32(cpustate, REG32(ECX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_edx)(i386_state *cpustate) // Opcode 0x4a
+static void __FASTCALL I386OP(dec_edx)(i386_state *cpustate) // Opcode 0x4a
{
REG32(EDX) = DEC32(cpustate, REG32(EDX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_ebx)(i386_state *cpustate) // Opcode 0x4b
+static void __FASTCALL I386OP(dec_ebx)(i386_state *cpustate) // Opcode 0x4b
{
REG32(EBX) = DEC32(cpustate, REG32(EBX) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_esp)(i386_state *cpustate) // Opcode 0x4c
+static void __FASTCALL I386OP(dec_esp)(i386_state *cpustate) // Opcode 0x4c
{
REG32(ESP) = DEC32(cpustate, REG32(ESP) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_ebp)(i386_state *cpustate) // Opcode 0x4d
+static void __FASTCALL I386OP(dec_ebp)(i386_state *cpustate) // Opcode 0x4d
{
REG32(EBP) = DEC32(cpustate, REG32(EBP) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_esi)(i386_state *cpustate) // Opcode 0x4e
+static void __FASTCALL I386OP(dec_esi)(i386_state *cpustate) // Opcode 0x4e
{
REG32(ESI) = DEC32(cpustate, REG32(ESI) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(dec_edi)(i386_state *cpustate) // Opcode 0x4f
+static void __FASTCALL I386OP(dec_edi)(i386_state *cpustate) // Opcode 0x4f
{
REG32(EDI) = DEC32(cpustate, REG32(EDI) );
CYCLES(cpustate,CYCLES_DEC_REG);
}
-static void I386OP(imul_r32_rm32)(i386_state *cpustate) // Opcode 0x0f af
+static void __FASTCALL I386OP(imul_r32_rm32)(i386_state *cpustate) // Opcode 0x0f af
{
UINT8 modrm = FETCH(cpustate);
INT64 result;
cpustate->CF = cpustate->OF = !(result == (INT64)(INT32)result);
}
-static void I386OP(imul_r32_rm32_i32)(i386_state *cpustate) // Opcode 0x69
+static void __FASTCALL I386OP(imul_r32_rm32_i32)(i386_state *cpustate) // Opcode 0x69
{
UINT8 modrm = FETCH(cpustate);
INT64 result;
cpustate->CF = cpustate->OF = !(result == (INT64)(INT32)result);
}
-static void I386OP(imul_r32_rm32_i8)(i386_state *cpustate) // Opcode 0x6b
+static void __FASTCALL I386OP(imul_r32_rm32_i8)(i386_state *cpustate) // Opcode 0x6b
{
UINT8 modrm = FETCH(cpustate);
INT64 result;
cpustate->CF = cpustate->OF = !(result == (INT64)(INT32)result);
}
-static void I386OP(in_eax_i8)(i386_state *cpustate) // Opcode 0xe5
+static void __FASTCALL I386OP(in_eax_i8)(i386_state *cpustate) // Opcode 0xe5
{
UINT16 port = FETCH(cpustate);
UINT32 data = READPORT32(cpustate, port);
CYCLES(cpustate,CYCLES_IN_VAR);
}
-static void I386OP(in_eax_dx)(i386_state *cpustate) // Opcode 0xed
+static void __FASTCALL I386OP(in_eax_dx)(i386_state *cpustate) // Opcode 0xed
{
UINT16 port = REG16(DX);
UINT32 data = READPORT32(cpustate, port);
CYCLES(cpustate,CYCLES_IN);
}
-static void I386OP(inc_eax)(i386_state *cpustate) // Opcode 0x40
+static void __FASTCALL I386OP(inc_eax)(i386_state *cpustate) // Opcode 0x40
{
REG32(EAX) = INC32(cpustate, REG32(EAX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_ecx)(i386_state *cpustate) // Opcode 0x41
+static void __FASTCALL I386OP(inc_ecx)(i386_state *cpustate) // Opcode 0x41
{
REG32(ECX) = INC32(cpustate, REG32(ECX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_edx)(i386_state *cpustate) // Opcode 0x42
+static void __FASTCALL I386OP(inc_edx)(i386_state *cpustate) // Opcode 0x42
{
REG32(EDX) = INC32(cpustate, REG32(EDX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_ebx)(i386_state *cpustate) // Opcode 0x43
+static void __FASTCALL I386OP(inc_ebx)(i386_state *cpustate) // Opcode 0x43
{
REG32(EBX) = INC32(cpustate, REG32(EBX) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_esp)(i386_state *cpustate) // Opcode 0x44
+static void __FASTCALL I386OP(inc_esp)(i386_state *cpustate) // Opcode 0x44
{
REG32(ESP) = INC32(cpustate, REG32(ESP) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_ebp)(i386_state *cpustate) // Opcode 0x45
+static void __FASTCALL I386OP(inc_ebp)(i386_state *cpustate) // Opcode 0x45
{
REG32(EBP) = INC32(cpustate, REG32(EBP) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_esi)(i386_state *cpustate) // Opcode 0x46
+static void __FASTCALL I386OP(inc_esi)(i386_state *cpustate) // Opcode 0x46
{
REG32(ESI) = INC32(cpustate, REG32(ESI) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(inc_edi)(i386_state *cpustate) // Opcode 0x47
+static void __FASTCALL I386OP(inc_edi)(i386_state *cpustate) // Opcode 0x47
{
REG32(EDI) = INC32(cpustate, REG32(EDI) );
CYCLES(cpustate,CYCLES_INC_REG);
}
-static void I386OP(iret32)(i386_state *cpustate) // Opcode 0xcf
+static void __FASTCALL I386OP(iret32)(i386_state *cpustate) // Opcode 0xcf
{
if( PROTECTED_MODE )
{
CYCLES(cpustate,CYCLES_IRET);
}
-static void I386OP(ja_rel32)(i386_state *cpustate) // Opcode 0x0f 87
+static void __FASTCALL I386OP(ja_rel32)(i386_state *cpustate) // Opcode 0x0f 87
{
INT32 disp = FETCH32(cpustate);
if( cpustate->CF == 0 && cpustate->ZF == 0 ) {
}
}
-static void I386OP(jbe_rel32)(i386_state *cpustate) // Opcode 0x0f 86
+static void __FASTCALL I386OP(jbe_rel32)(i386_state *cpustate) // Opcode 0x0f 86
{
INT32 disp = FETCH32(cpustate);
if( cpustate->CF != 0 || cpustate->ZF != 0 ) {
}
}
-static void I386OP(jc_rel32)(i386_state *cpustate) // Opcode 0x0f 82
+static void __FASTCALL I386OP(jc_rel32)(i386_state *cpustate) // Opcode 0x0f 82
{
INT32 disp = FETCH32(cpustate);
if( cpustate->CF != 0 ) {
}
}
-static void I386OP(jg_rel32)(i386_state *cpustate) // Opcode 0x0f 8f
+static void __FASTCALL I386OP(jg_rel32)(i386_state *cpustate) // Opcode 0x0f 8f
{
INT32 disp = FETCH32(cpustate);
if( cpustate->ZF == 0 && (cpustate->SF == cpustate->OF) ) {
}
}
-static void I386OP(jge_rel32)(i386_state *cpustate) // Opcode 0x0f 8d
+static void __FASTCALL I386OP(jge_rel32)(i386_state *cpustate) // Opcode 0x0f 8d
{
INT32 disp = FETCH32(cpustate);
if(cpustate->SF == cpustate->OF) {
}
}
-static void I386OP(jl_rel32)(i386_state *cpustate) // Opcode 0x0f 8c
+static void __FASTCALL I386OP(jl_rel32)(i386_state *cpustate) // Opcode 0x0f 8c
{
INT32 disp = FETCH32(cpustate);
if( (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jle_rel32)(i386_state *cpustate) // Opcode 0x0f 8e
+static void __FASTCALL I386OP(jle_rel32)(i386_state *cpustate) // Opcode 0x0f 8e
{
INT32 disp = FETCH32(cpustate);
if( cpustate->ZF != 0 || (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jnc_rel32)(i386_state *cpustate) // Opcode 0x0f 83
+static void __FASTCALL I386OP(jnc_rel32)(i386_state *cpustate) // Opcode 0x0f 83
{
INT32 disp = FETCH32(cpustate);
if( cpustate->CF == 0 ) {
}
}
-static void I386OP(jno_rel32)(i386_state *cpustate) // Opcode 0x0f 81
+static void __FASTCALL I386OP(jno_rel32)(i386_state *cpustate) // Opcode 0x0f 81
{
INT32 disp = FETCH32(cpustate);
if( cpustate->OF == 0 ) {
}
}
-static void I386OP(jnp_rel32)(i386_state *cpustate) // Opcode 0x0f 8b
+static void __FASTCALL I386OP(jnp_rel32)(i386_state *cpustate) // Opcode 0x0f 8b
{
INT32 disp = FETCH32(cpustate);
if( cpustate->PF == 0 ) {
}
}
-static void I386OP(jns_rel32)(i386_state *cpustate) // Opcode 0x0f 89
+static void __FASTCALL I386OP(jns_rel32)(i386_state *cpustate) // Opcode 0x0f 89
{
INT32 disp = FETCH32(cpustate);
if( cpustate->SF == 0 ) {
}
}
-static void I386OP(jnz_rel32)(i386_state *cpustate) // Opcode 0x0f 85
+static void __FASTCALL I386OP(jnz_rel32)(i386_state *cpustate) // Opcode 0x0f 85
{
INT32 disp = FETCH32(cpustate);
if( cpustate->ZF == 0 ) {
}
}
-static void I386OP(jo_rel32)(i386_state *cpustate) // Opcode 0x0f 80
+static void __FASTCALL I386OP(jo_rel32)(i386_state *cpustate) // Opcode 0x0f 80
{
INT32 disp = FETCH32(cpustate);
if( cpustate->OF != 0 ) {
}
}
-static void I386OP(jp_rel32)(i386_state *cpustate) // Opcode 0x0f 8a
+static void __FASTCALL I386OP(jp_rel32)(i386_state *cpustate) // Opcode 0x0f 8a
{
INT32 disp = FETCH32(cpustate);
if( cpustate->PF != 0 ) {
}
}
-static void I386OP(js_rel32)(i386_state *cpustate) // Opcode 0x0f 88
+static void __FASTCALL I386OP(js_rel32)(i386_state *cpustate) // Opcode 0x0f 88
{
INT32 disp = FETCH32(cpustate);
if( cpustate->SF != 0 ) {
}
}
-static void I386OP(jz_rel32)(i386_state *cpustate) // Opcode 0x0f 84
+static void __FASTCALL I386OP(jz_rel32)(i386_state *cpustate) // Opcode 0x0f 84
{
INT32 disp = FETCH32(cpustate);
if( cpustate->ZF != 0 ) {
}
}
-static void I386OP(jcxz32)(i386_state *cpustate) // Opcode 0xe3
+static void __FASTCALL I386OP(jcxz32)(i386_state *cpustate) // Opcode 0xe3
{
INT8 disp = FETCH(cpustate);
int val = (cpustate->address_size)?(REG32(ECX) == 0):(REG16(CX) == 0);
}
}
-static void I386OP(jmp_rel32)(i386_state *cpustate) // Opcode 0xe9
+static void __FASTCALL I386OP(jmp_rel32)(i386_state *cpustate) // Opcode 0xe9
{
UINT32 disp = FETCH32(cpustate);
/* TODO: Segment limit */
CYCLES(cpustate,CYCLES_JMP); /* TODO: Timing = 7 + m */
}
-static void I386OP(jmp_abs32)(i386_state *cpustate) // Opcode 0xea
+static void __FASTCALL I386OP(jmp_abs32)(i386_state *cpustate) // Opcode 0xea
{
UINT32 address = FETCH32(cpustate);
UINT16 segment = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_JMP_INTERSEG);
}
-static void I386OP(lea32)(i386_state *cpustate) // Opcode 0x8d
+static void __FASTCALL I386OP(lea32)(i386_state *cpustate) // Opcode 0x8d
{
UINT8 modrm = FETCH(cpustate);
UINT32 ea = GetNonTranslatedEA(cpustate,modrm,NULL);
CYCLES(cpustate,CYCLES_LEA);
}
-static void I386OP(enter32)(i386_state *cpustate) // Opcode 0xc8
+static void __FASTCALL I386OP(enter32)(i386_state *cpustate) // Opcode 0xc8
{
UINT16 framesize = FETCH16(cpustate);
UINT8 level = FETCH(cpustate) % 32;
CYCLES(cpustate,CYCLES_ENTER);
}
-static void I386OP(leave32)(i386_state *cpustate) // Opcode 0xc9
+static void __FASTCALL I386OP(leave32)(i386_state *cpustate) // Opcode 0xc9
{
if(!STACK_32BIT)
REG16(SP) = REG16(BP);
CYCLES(cpustate,CYCLES_LEAVE);
}
-static void I386OP(lodsd)(i386_state *cpustate) // Opcode 0xad
+static void __FASTCALL I386OP(lodsd)(i386_state *cpustate) // Opcode 0xad
{
UINT32 eas;
if( cpustate->segment_prefix ) {
CYCLES(cpustate,CYCLES_LODS);
}
-static void I386OP(loop32)(i386_state *cpustate) // Opcode 0xe2
+static void __FASTCALL I386OP(loop32)(i386_state *cpustate) // Opcode 0xe2
{
INT8 disp = FETCH(cpustate);
INT32 reg = (cpustate->address_size)?--REG32(ECX):--REG16(CX);
CYCLES(cpustate,CYCLES_LOOP); /* TODO: Timing = 11 + m */
}
-static void I386OP(loopne32)(i386_state *cpustate) // Opcode 0xe0
+static void __FASTCALL I386OP(loopne32)(i386_state *cpustate) // Opcode 0xe0
{
INT8 disp = FETCH(cpustate);
INT32 reg = (cpustate->address_size)?--REG32(ECX):--REG16(CX);
CYCLES(cpustate,CYCLES_LOOPNZ); /* TODO: Timing = 11 + m */
}
-static void I386OP(loopz32)(i386_state *cpustate) // Opcode 0xe1
+static void __FASTCALL I386OP(loopz32)(i386_state *cpustate) // Opcode 0xe1
{
INT8 disp = FETCH(cpustate);
INT32 reg = (cpustate->address_size)?--REG32(ECX):--REG16(CX);
CYCLES(cpustate,CYCLES_LOOPZ); /* TODO: Timing = 11 + m */
}
-static void I386OP(mov_rm32_r32)(i386_state *cpustate) // Opcode 0x89
+static void __FASTCALL I386OP(mov_rm32_r32)(i386_state *cpustate) // Opcode 0x89
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_r32_rm32)(i386_state *cpustate) // Opcode 0x8b
+static void __FASTCALL I386OP(mov_r32_rm32)(i386_state *cpustate) // Opcode 0x8b
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_rm32_i32)(i386_state *cpustate) // Opcode 0xc7
+static void __FASTCALL I386OP(mov_rm32_i32)(i386_state *cpustate) // Opcode 0xc7
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(mov_eax_m32)(i386_state *cpustate) // Opcode 0xa1
+static void __FASTCALL I386OP(mov_eax_m32)(i386_state *cpustate) // Opcode 0xa1
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_MEM_ACC);
}
-static void I386OP(mov_m32_eax)(i386_state *cpustate) // Opcode 0xa3
+static void __FASTCALL I386OP(mov_m32_eax)(i386_state *cpustate) // Opcode 0xa3
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_ACC_MEM);
}
-static void I386OP(mov_eax_i32)(i386_state *cpustate) // Opcode 0xb8
+static void __FASTCALL I386OP(mov_eax_i32)(i386_state *cpustate) // Opcode 0xb8
{
REG32(EAX) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_ecx_i32)(i386_state *cpustate) // Opcode 0xb9
+static void __FASTCALL I386OP(mov_ecx_i32)(i386_state *cpustate) // Opcode 0xb9
{
REG32(ECX) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_edx_i32)(i386_state *cpustate) // Opcode 0xba
+static void __FASTCALL I386OP(mov_edx_i32)(i386_state *cpustate) // Opcode 0xba
{
REG32(EDX) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_ebx_i32)(i386_state *cpustate) // Opcode 0xbb
+static void __FASTCALL I386OP(mov_ebx_i32)(i386_state *cpustate) // Opcode 0xbb
{
REG32(EBX) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_esp_i32)(i386_state *cpustate) // Opcode 0xbc
+static void __FASTCALL I386OP(mov_esp_i32)(i386_state *cpustate) // Opcode 0xbc
{
REG32(ESP) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_ebp_i32)(i386_state *cpustate) // Opcode 0xbd
+static void __FASTCALL I386OP(mov_ebp_i32)(i386_state *cpustate) // Opcode 0xbd
{
REG32(EBP) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_esi_i32)(i386_state *cpustate) // Opcode 0xbe
+static void __FASTCALL I386OP(mov_esi_i32)(i386_state *cpustate) // Opcode 0xbe
{
REG32(ESI) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_edi_i32)(i386_state *cpustate) // Opcode 0xbf
+static void __FASTCALL I386OP(mov_edi_i32)(i386_state *cpustate) // Opcode 0xbf
{
REG32(EDI) = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(movsd)(i386_state *cpustate) // Opcode 0xa5
+static void __FASTCALL I386OP(movsd)(i386_state *cpustate) // Opcode 0xa5
{
UINT32 eas, ead, v;
if( cpustate->segment_prefix ) {
CYCLES(cpustate,CYCLES_MOVS);
}
-static void I386OP(movsx_r32_rm8)(i386_state *cpustate) // Opcode 0x0f be
+static void __FASTCALL I386OP(movsx_r32_rm8)(i386_state *cpustate) // Opcode 0x0f be
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(movsx_r32_rm16)(i386_state *cpustate) // Opcode 0x0f bf
+static void __FASTCALL I386OP(movsx_r32_rm16)(i386_state *cpustate) // Opcode 0x0f bf
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(movzx_r32_rm8)(i386_state *cpustate) // Opcode 0x0f b6
+static void __FASTCALL I386OP(movzx_r32_rm8)(i386_state *cpustate) // Opcode 0x0f b6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(movzx_r32_rm16)(i386_state *cpustate) // Opcode 0x0f b7
+static void __FASTCALL I386OP(movzx_r32_rm16)(i386_state *cpustate) // Opcode 0x0f b7
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(or_rm32_r32)(i386_state *cpustate) // Opcode 0x09
+static void __FASTCALL I386OP(or_rm32_r32)(i386_state *cpustate) // Opcode 0x09
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_r32_rm32)(i386_state *cpustate) // Opcode 0x0b
+static void __FASTCALL I386OP(or_r32_rm32)(i386_state *cpustate) // Opcode 0x0b
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_eax_i32)(i386_state *cpustate) // Opcode 0x0d
+static void __FASTCALL I386OP(or_eax_i32)(i386_state *cpustate) // Opcode 0x0d
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(out_eax_i8)(i386_state *cpustate) // Opcode 0xe7
+static void __FASTCALL I386OP(out_eax_i8)(i386_state *cpustate) // Opcode 0xe7
{
UINT16 port = FETCH(cpustate);
UINT32 data = REG32(EAX);
CYCLES(cpustate,CYCLES_OUT_VAR);
}
-static void I386OP(out_eax_dx)(i386_state *cpustate) // Opcode 0xef
+static void __FASTCALL I386OP(out_eax_dx)(i386_state *cpustate) // Opcode 0xef
{
UINT16 port = REG16(DX);
UINT32 data = REG32(EAX);
CYCLES(cpustate,CYCLES_OUT);
}
-static void I386OP(pop_eax)(i386_state *cpustate) // Opcode 0x58
+static void __FASTCALL I386OP(pop_eax)(i386_state *cpustate) // Opcode 0x58
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_ecx)(i386_state *cpustate) // Opcode 0x59
+static void __FASTCALL I386OP(pop_ecx)(i386_state *cpustate) // Opcode 0x59
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_edx)(i386_state *cpustate) // Opcode 0x5a
+static void __FASTCALL I386OP(pop_edx)(i386_state *cpustate) // Opcode 0x5a
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_ebx)(i386_state *cpustate) // Opcode 0x5b
+static void __FASTCALL I386OP(pop_ebx)(i386_state *cpustate) // Opcode 0x5b
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_esp)(i386_state *cpustate) // Opcode 0x5c
+static void __FASTCALL I386OP(pop_esp)(i386_state *cpustate) // Opcode 0x5c
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_ebp)(i386_state *cpustate) // Opcode 0x5d
+static void __FASTCALL I386OP(pop_ebp)(i386_state *cpustate) // Opcode 0x5d
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_esi)(i386_state *cpustate) // Opcode 0x5e
+static void __FASTCALL I386OP(pop_esi)(i386_state *cpustate) // Opcode 0x5e
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
CYCLES(cpustate,CYCLES_POP_REG_SHORT);
}
-static void I386OP(pop_edi)(i386_state *cpustate) // Opcode 0x5f
+static void __FASTCALL I386OP(pop_edi)(i386_state *cpustate) // Opcode 0x5f
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,4) == 0)
return true;
}
-static void I386OP(pop_ds32)(i386_state *cpustate) // Opcode 0x1f
+static void __FASTCALL I386OP(pop_ds32)(i386_state *cpustate) // Opcode 0x1f
{
I386OP(pop_seg32)(cpustate, DS);
}
-static void I386OP(pop_es32)(i386_state *cpustate) // Opcode 0x07
+static void __FASTCALL I386OP(pop_es32)(i386_state *cpustate) // Opcode 0x07
{
I386OP(pop_seg32)(cpustate, ES);
}
-static void I386OP(pop_fs32)(i386_state *cpustate) // Opcode 0x0f a1
+static void __FASTCALL I386OP(pop_fs32)(i386_state *cpustate) // Opcode 0x0f a1
{
I386OP(pop_seg32)(cpustate, FS);
}
-static void I386OP(pop_gs32)(i386_state *cpustate) // Opcode 0x0f a9
+static void __FASTCALL I386OP(pop_gs32)(i386_state *cpustate) // Opcode 0x0f a9
{
I386OP(pop_seg32)(cpustate, GS);
}
-static void I386OP(pop_ss32)(i386_state *cpustate) // Opcode 0x17
+static void __FASTCALL I386OP(pop_ss32)(i386_state *cpustate) // Opcode 0x17
{
if(!I386OP(pop_seg32)(cpustate, SS)) return;
if(cpustate->IF != 0) // if external interrupts are enabled
}
}
-static void I386OP(pop_rm32)(i386_state *cpustate) // Opcode 0x8f
+static void __FASTCALL I386OP(pop_rm32)(i386_state *cpustate) // Opcode 0x8f
{
UINT8 modrm = FETCH(cpustate);
UINT32 value;
CYCLES(cpustate,CYCLES_POP_RM);
}
-static void I386OP(popad)(i386_state *cpustate) // Opcode 0x61
+static void __FASTCALL I386OP(popad)(i386_state *cpustate) // Opcode 0x61
{
UINT32 offset = (STACK_32BIT ? REG32(ESP) : REG16(SP));
if(i386_limit_check(cpustate,SS,offset,32) == 0)
CYCLES(cpustate,CYCLES_POPA);
}
-static void I386OP(popfd)(i386_state *cpustate) // Opcode 0x9d
+static void __FASTCALL I386OP(popfd)(i386_state *cpustate) // Opcode 0x9d
{
UINT32 value;
UINT32 current = get_flags(cpustate);
CYCLES(cpustate,CYCLES_POPF);
}
-static void I386OP(push_eax)(i386_state *cpustate) // Opcode 0x50
+static void __FASTCALL I386OP(push_eax)(i386_state *cpustate) // Opcode 0x50
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_ecx)(i386_state *cpustate) // Opcode 0x51
+static void __FASTCALL I386OP(push_ecx)(i386_state *cpustate) // Opcode 0x51
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_edx)(i386_state *cpustate) // Opcode 0x52
+static void __FASTCALL I386OP(push_edx)(i386_state *cpustate) // Opcode 0x52
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_ebx)(i386_state *cpustate) // Opcode 0x53
+static void __FASTCALL I386OP(push_ebx)(i386_state *cpustate) // Opcode 0x53
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_esp)(i386_state *cpustate) // Opcode 0x54
+static void __FASTCALL I386OP(push_esp)(i386_state *cpustate) // Opcode 0x54
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_ebp)(i386_state *cpustate) // Opcode 0x55
+static void __FASTCALL I386OP(push_ebp)(i386_state *cpustate) // Opcode 0x55
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_esi)(i386_state *cpustate) // Opcode 0x56
+static void __FASTCALL I386OP(push_esi)(i386_state *cpustate) // Opcode 0x56
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_edi)(i386_state *cpustate) // Opcode 0x57
+static void __FASTCALL I386OP(push_edi)(i386_state *cpustate) // Opcode 0x57
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_REG_SHORT);
}
-static void I386OP(push_cs32)(i386_state *cpustate) // Opcode 0x0e
+static void __FASTCALL I386OP(push_cs32)(i386_state *cpustate) // Opcode 0x0e
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_ds32)(i386_state *cpustate) // Opcode 0x1e
+static void __FASTCALL I386OP(push_ds32)(i386_state *cpustate) // Opcode 0x1e
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_es32)(i386_state *cpustate) // Opcode 0x06
+static void __FASTCALL I386OP(push_es32)(i386_state *cpustate) // Opcode 0x06
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_fs32)(i386_state *cpustate) // Opcode 0x0f a0
+static void __FASTCALL I386OP(push_fs32)(i386_state *cpustate) // Opcode 0x0f a0
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_gs32)(i386_state *cpustate) // Opcode 0x0f a8
+static void __FASTCALL I386OP(push_gs32)(i386_state *cpustate) // Opcode 0x0f a8
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_ss32)(i386_state *cpustate) // Opcode 0x16
+static void __FASTCALL I386OP(push_ss32)(i386_state *cpustate) // Opcode 0x16
{
UINT32 offset;
if(STACK_32BIT)
CYCLES(cpustate,CYCLES_PUSH_SREG);
}
-static void I386OP(push_i32)(i386_state *cpustate) // Opcode 0x68
+static void __FASTCALL I386OP(push_i32)(i386_state *cpustate) // Opcode 0x68
{
UINT32 value = FETCH32(cpustate);
UINT32 offset;
CYCLES(cpustate,CYCLES_PUSH_IMM);
}
-static void I386OP(pushad)(i386_state *cpustate) // Opcode 0x60
+static void __FASTCALL I386OP(pushad)(i386_state *cpustate) // Opcode 0x60
{
UINT32 temp = REG32(ESP);
UINT32 offset;
CYCLES(cpustate,CYCLES_PUSHA);
}
-static void I386OP(pushfd)(i386_state *cpustate) // Opcode 0x9c
+static void __FASTCALL I386OP(pushfd)(i386_state *cpustate) // Opcode 0x9c
{
if(!cpustate->IOP1 && !cpustate->IOP2 && V8086_MODE)
FAULT(FAULT_GP,0)
CYCLES(cpustate,CYCLES_PUSHF);
}
-static void I386OP(ret_near32_i16)(i386_state *cpustate) // Opcode 0xc2
+static void __FASTCALL I386OP(ret_near32_i16)(i386_state *cpustate) // Opcode 0xc2
{
INT16 disp = FETCH16(cpustate);
cpustate->eip = POP32(cpustate);
CYCLES(cpustate,CYCLES_RET_IMM); /* TODO: Timing = 10 + m */
}
-static void I386OP(ret_near32)(i386_state *cpustate) // Opcode 0xc3
+static void __FASTCALL I386OP(ret_near32)(i386_state *cpustate) // Opcode 0xc3
{
cpustate->eip = POP32(cpustate);
CHANGE_PC(cpustate,cpustate->eip);
CYCLES(cpustate,CYCLES_RET); /* TODO: Timing = 10 + m */
}
-static void I386OP(sbb_rm32_r32)(i386_state *cpustate) // Opcode 0x19
+static void __FASTCALL I386OP(sbb_rm32_r32)(i386_state *cpustate) // Opcode 0x19
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_r32_rm32)(i386_state *cpustate) // Opcode 0x1b
+static void __FASTCALL I386OP(sbb_r32_rm32)(i386_state *cpustate) // Opcode 0x1b
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_eax_i32)(i386_state *cpustate) // Opcode 0x1d
+static void __FASTCALL I386OP(sbb_eax_i32)(i386_state *cpustate) // Opcode 0x1d
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(scasd)(i386_state *cpustate) // Opcode 0xaf
+static void __FASTCALL I386OP(scasd)(i386_state *cpustate) // Opcode 0xaf
{
UINT32 eas, src, dst;
eas = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI), 0, 4 );
CYCLES(cpustate,CYCLES_SCAS);
}
-static void I386OP(shld32_i8)(i386_state *cpustate) // Opcode 0x0f a4
+static void __FASTCALL I386OP(shld32_i8)(i386_state *cpustate) // Opcode 0x0f a4
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shld32_cl)(i386_state *cpustate) // Opcode 0x0f a5
+static void __FASTCALL I386OP(shld32_cl)(i386_state *cpustate) // Opcode 0x0f a5
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shrd32_i8)(i386_state *cpustate) // Opcode 0x0f ac
+static void __FASTCALL I386OP(shrd32_i8)(i386_state *cpustate) // Opcode 0x0f ac
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(shrd32_cl)(i386_state *cpustate) // Opcode 0x0f ad
+static void __FASTCALL I386OP(shrd32_cl)(i386_state *cpustate) // Opcode 0x0f ad
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(stosd)(i386_state *cpustate) // Opcode 0xab
+static void __FASTCALL I386OP(stosd)(i386_state *cpustate) // Opcode 0xab
{
UINT32 eas = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI), 1, 4 );
WRITE32(cpustate,eas, REG32(EAX));
CYCLES(cpustate,CYCLES_STOS);
}
-static void I386OP(sub_rm32_r32)(i386_state *cpustate) // Opcode 0x29
+static void __FASTCALL I386OP(sub_rm32_r32)(i386_state *cpustate) // Opcode 0x29
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_r32_rm32)(i386_state *cpustate) // Opcode 0x2b
+static void __FASTCALL I386OP(sub_r32_rm32)(i386_state *cpustate) // Opcode 0x2b
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_eax_i32)(i386_state *cpustate) // Opcode 0x2d
+static void __FASTCALL I386OP(sub_eax_i32)(i386_state *cpustate) // Opcode 0x2d
{
UINT32 src, dst;
src = FETCH32(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(test_eax_i32)(i386_state *cpustate) // Opcode 0xa9
+static void __FASTCALL I386OP(test_eax_i32)(i386_state *cpustate) // Opcode 0xa9
{
UINT32 src = FETCH32(cpustate);
UINT32 dst = REG32(EAX);
CYCLES(cpustate,CYCLES_TEST_IMM_ACC);
}
-static void I386OP(test_rm32_r32)(i386_state *cpustate) // Opcode 0x85
+static void __FASTCALL I386OP(test_rm32_r32)(i386_state *cpustate) // Opcode 0x85
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xchg_eax_ecx)(i386_state *cpustate) // Opcode 0x91
+static void __FASTCALL I386OP(xchg_eax_ecx)(i386_state *cpustate) // Opcode 0x91
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_edx)(i386_state *cpustate) // Opcode 0x92
+static void __FASTCALL I386OP(xchg_eax_edx)(i386_state *cpustate) // Opcode 0x92
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_ebx)(i386_state *cpustate) // Opcode 0x93
+static void __FASTCALL I386OP(xchg_eax_ebx)(i386_state *cpustate) // Opcode 0x93
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_esp)(i386_state *cpustate) // Opcode 0x94
+static void __FASTCALL I386OP(xchg_eax_esp)(i386_state *cpustate) // Opcode 0x94
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_ebp)(i386_state *cpustate) // Opcode 0x95
+static void __FASTCALL I386OP(xchg_eax_ebp)(i386_state *cpustate) // Opcode 0x95
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_esi)(i386_state *cpustate) // Opcode 0x96
+static void __FASTCALL I386OP(xchg_eax_esi)(i386_state *cpustate) // Opcode 0x96
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_eax_edi)(i386_state *cpustate) // Opcode 0x97
+static void __FASTCALL I386OP(xchg_eax_edi)(i386_state *cpustate) // Opcode 0x97
{
UINT32 temp;
temp = REG32(EAX);
CYCLES(cpustate,CYCLES_XCHG_REG_REG);
}
-static void I386OP(xchg_r32_rm32)(i386_state *cpustate) // Opcode 0x87
+static void __FASTCALL I386OP(xchg_r32_rm32)(i386_state *cpustate) // Opcode 0x87
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(xor_rm32_r32)(i386_state *cpustate) // Opcode 0x31
+static void __FASTCALL I386OP(xor_rm32_r32)(i386_state *cpustate) // Opcode 0x31
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_r32_rm32)(i386_state *cpustate) // Opcode 0x33
+static void __FASTCALL I386OP(xor_r32_rm32)(i386_state *cpustate) // Opcode 0x33
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_eax_i32)(i386_state *cpustate) // Opcode 0x35
+static void __FASTCALL I386OP(xor_eax_i32)(i386_state *cpustate) // Opcode 0x35
{
UINT32 src, dst;
src = FETCH32(cpustate);
-static void I386OP(group81_32)(i386_state *cpustate) // Opcode 0x81
+static void __FASTCALL I386OP(group81_32)(i386_state *cpustate) // Opcode 0x81
{
UINT32 ea;
UINT32 src, dst;
}
}
-static void I386OP(group83_32)(i386_state *cpustate) // Opcode 0x83
+static void __FASTCALL I386OP(group83_32)(i386_state *cpustate) // Opcode 0x83
{
UINT32 ea;
UINT32 src, dst;
}
}
-static void I386OP(groupC1_32)(i386_state *cpustate) // Opcode 0xc1
+static void __FASTCALL I386OP(groupC1_32)(i386_state *cpustate) // Opcode 0xc1
{
UINT32 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD1_32)(i386_state *cpustate) // Opcode 0xd1
+static void __FASTCALL I386OP(groupD1_32)(i386_state *cpustate) // Opcode 0xd1
{
UINT32 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD3_32)(i386_state *cpustate) // Opcode 0xd3
+static void __FASTCALL I386OP(groupD3_32)(i386_state *cpustate) // Opcode 0xd3
{
UINT32 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupF7_32)(i386_state *cpustate) // Opcode 0xf7
+static void __FASTCALL I386OP(groupF7_32)(i386_state *cpustate) // Opcode 0xf7
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupFF_32)(i386_state *cpustate) // Opcode 0xff
+static void __FASTCALL I386OP(groupFF_32)(i386_state *cpustate) // Opcode 0xff
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(group0F00_32)(i386_state *cpustate) // Opcode 0x0f 00
+static void __FASTCALL I386OP(group0F00_32)(i386_state *cpustate) // Opcode 0x0f 00
{
UINT32 address, ea;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(group0F01_32)(i386_state *cpustate) // Opcode 0x0f 01
+static void __FASTCALL I386OP(group0F01_32)(i386_state *cpustate) // Opcode 0x0f 01
{
UINT8 modrm = FETCH(cpustate);
UINT32 address, ea;
}
}
-static void I386OP(group0FBA_32)(i386_state *cpustate) // Opcode 0x0f ba
+static void __FASTCALL I386OP(group0FBA_32)(i386_state *cpustate) // Opcode 0x0f ba
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(lar_r32_rm32)(i386_state *cpustate) // Opcode 0x0f 0x02
+static void __FASTCALL I386OP(lar_r32_rm32)(i386_state *cpustate) // Opcode 0x0f 0x02
{
UINT8 modrm = FETCH(cpustate);
I386_SREG seg;
}
}
-static void I386OP(lsl_r32_rm32)(i386_state *cpustate) // Opcode 0x0f 0x03
+static void __FASTCALL I386OP(lsl_r32_rm32)(i386_state *cpustate) // Opcode 0x0f 0x03
{
UINT8 modrm = FETCH(cpustate);
UINT32 limit;
}
}
-static void I386OP(bound_r32_m32_m32)(i386_state *cpustate) // Opcode 0x62
+static void __FASTCALL I386OP(bound_r32_m32_m32)(i386_state *cpustate) // Opcode 0x62
{
UINT8 modrm;
INT32 val, low, high;
}
}
-static void I386OP(retf32)(i386_state *cpustate) // Opcode 0xcb
+static void __FASTCALL I386OP(retf32)(i386_state *cpustate) // Opcode 0xcb
{
if(PROTECTED_MODE && !V8086_MODE)
{
CYCLES(cpustate,CYCLES_RET_INTERSEG);
}
-static void I386OP(retf_i32)(i386_state *cpustate) // Opcode 0xca
+static void __FASTCALL I386OP(retf_i32)(i386_state *cpustate) // Opcode 0xca
{
UINT16 count = FETCH16(cpustate);
CYCLES(cpustate,CYCLES_RET_IMM_INTERSEG);
}
-static void I386OP(load_far_pointer32)(i386_state *cpustate, int s)
+static void __FASTCALL I386OP(load_far_pointer32)(i386_state *cpustate, int s)
{
UINT8 modrm = FETCH(cpustate);
UINT16 selector;
}
}
-static void I386OP(lds32)(i386_state *cpustate) // Opcode 0xc5
+static void __FASTCALL I386OP(lds32)(i386_state *cpustate) // Opcode 0xc5
{
I386OP(load_far_pointer32)(cpustate, DS);
CYCLES(cpustate,CYCLES_LDS);
}
-static void I386OP(lss32)(i386_state *cpustate) // Opcode 0x0f 0xb2
+static void __FASTCALL I386OP(lss32)(i386_state *cpustate) // Opcode 0x0f 0xb2
{
I386OP(load_far_pointer32)(cpustate, SS);
CYCLES(cpustate,CYCLES_LSS);
}
-static void I386OP(les32)(i386_state *cpustate) // Opcode 0xc4
+static void __FASTCALL I386OP(les32)(i386_state *cpustate) // Opcode 0xc4
{
I386OP(load_far_pointer32)(cpustate, ES);
CYCLES(cpustate,CYCLES_LES);
}
-static void I386OP(lfs32)(i386_state *cpustate) // Opcode 0x0f 0xb4
+static void __FASTCALL I386OP(lfs32)(i386_state *cpustate) // Opcode 0x0f 0xb4
{
I386OP(load_far_pointer32)(cpustate, FS);
CYCLES(cpustate,CYCLES_LFS);
}
-static void I386OP(lgs32)(i386_state *cpustate) // Opcode 0x0f 0xb5
+static void __FASTCALL I386OP(lgs32)(i386_state *cpustate) // Opcode 0x0f 0xb5
{
I386OP(load_far_pointer32)(cpustate, GS);
CYCLES(cpustate,CYCLES_LGS);
// license:BSD-3-Clause
// copyright-holders:Ville Linde, Barry Rodewald, Carl, Philip Bennett
-static UINT8 I386OP(shift_rotate8)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
+static UINT8 __FASTCALL I386OP(shift_rotate8)(i386_state *cpustate, UINT8 modrm, UINT32 value, UINT8 shift)
{
UINT32 src = value & 0xff;
UINT8 dst = value;
-static void I386OP(adc_rm8_r8)(i386_state *cpustate) // Opcode 0x10
+static void __FASTCALL I386OP(adc_rm8_r8)(i386_state *cpustate) // Opcode 0x10
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_r8_rm8)(i386_state *cpustate) // Opcode 0x12
+static void __FASTCALL I386OP(adc_r8_rm8)(i386_state *cpustate) // Opcode 0x12
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(adc_al_i8)(i386_state *cpustate) // Opcode 0x14
+static void __FASTCALL I386OP(adc_al_i8)(i386_state *cpustate) // Opcode 0x14
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(add_rm8_r8)(i386_state *cpustate) // Opcode 0x00
+static void __FASTCALL I386OP(add_rm8_r8)(i386_state *cpustate) // Opcode 0x00
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_r8_rm8)(i386_state *cpustate) // Opcode 0x02
+static void __FASTCALL I386OP(add_r8_rm8)(i386_state *cpustate) // Opcode 0x02
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(add_al_i8)(i386_state *cpustate) // Opcode 0x04
+static void __FASTCALL I386OP(add_al_i8)(i386_state *cpustate) // Opcode 0x04
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(and_rm8_r8)(i386_state *cpustate) // Opcode 0x20
+static void __FASTCALL I386OP(and_rm8_r8)(i386_state *cpustate) // Opcode 0x20
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_r8_rm8)(i386_state *cpustate) // Opcode 0x22
+static void __FASTCALL I386OP(and_r8_rm8)(i386_state *cpustate) // Opcode 0x22
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(and_al_i8)(i386_state *cpustate) // Opcode 0x24
+static void __FASTCALL I386OP(and_al_i8)(i386_state *cpustate) // Opcode 0x24
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(clc)(i386_state *cpustate) // Opcode 0xf8
+static void __FASTCALL I386OP(clc)(i386_state *cpustate) // Opcode 0xf8
{
cpustate->CF = 0;
CYCLES(cpustate,CYCLES_CLC);
}
-static void I386OP(cld)(i386_state *cpustate) // Opcode 0xfc
+static void __FASTCALL I386OP(cld)(i386_state *cpustate) // Opcode 0xfc
{
cpustate->DF = 0;
CYCLES(cpustate,CYCLES_CLD);
}
-static void I386OP(cli)(i386_state *cpustate) // Opcode 0xfa
+static void __FASTCALL I386OP(cli)(i386_state *cpustate) // Opcode 0xfa
{
if(PROTECTED_MODE)
{
CYCLES(cpustate,CYCLES_CLI);
}
-static void I386OP(cmc)(i386_state *cpustate) // Opcode 0xf5
+static void __FASTCALL I386OP(cmc)(i386_state *cpustate) // Opcode 0xf5
{
cpustate->CF ^= 1;
CYCLES(cpustate,CYCLES_CMC);
}
-static void I386OP(cmp_rm8_r8)(i386_state *cpustate) // Opcode 0x38
+static void __FASTCALL I386OP(cmp_rm8_r8)(i386_state *cpustate) // Opcode 0x38
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_r8_rm8)(i386_state *cpustate) // Opcode 0x3a
+static void __FASTCALL I386OP(cmp_r8_rm8)(i386_state *cpustate) // Opcode 0x3a
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(cmp_al_i8)(i386_state *cpustate) // Opcode 0x3c
+static void __FASTCALL I386OP(cmp_al_i8)(i386_state *cpustate) // Opcode 0x3c
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_CMP_IMM_ACC);
}
-static void I386OP(cmpsb)(i386_state *cpustate) // Opcode 0xa6
+static void __FASTCALL I386OP(cmpsb)(i386_state *cpustate) // Opcode 0xa6
{
UINT32 eas, ead;
UINT8 src, dst;
CYCLES(cpustate,CYCLES_CMPS);
}
-static void I386OP(in_al_i8)(i386_state *cpustate) // Opcode 0xe4
+static void __FASTCALL I386OP(in_al_i8)(i386_state *cpustate) // Opcode 0xe4
{
UINT16 port = FETCH(cpustate);
UINT8 data = READPORT8(cpustate, port);
CYCLES(cpustate,CYCLES_IN_VAR);
}
-static void I386OP(in_al_dx)(i386_state *cpustate) // Opcode 0xec
+static void __FASTCALL I386OP(in_al_dx)(i386_state *cpustate) // Opcode 0xec
{
UINT16 port = REG16(DX);
UINT8 data = READPORT8(cpustate, port);
CYCLES(cpustate,CYCLES_IN);
}
-static void I386OP(ja_rel8)(i386_state *cpustate) // Opcode 0x77
+static void __FASTCALL I386OP(ja_rel8)(i386_state *cpustate) // Opcode 0x77
{
INT8 disp = FETCH(cpustate);
if( cpustate->CF == 0 && cpustate->ZF == 0 ) {
}
}
-static void I386OP(jbe_rel8)(i386_state *cpustate) // Opcode 0x76
+static void __FASTCALL I386OP(jbe_rel8)(i386_state *cpustate) // Opcode 0x76
{
INT8 disp = FETCH(cpustate);
if( cpustate->CF != 0 || cpustate->ZF != 0 ) {
}
}
-static void I386OP(jc_rel8)(i386_state *cpustate) // Opcode 0x72
+static void __FASTCALL I386OP(jc_rel8)(i386_state *cpustate) // Opcode 0x72
{
INT8 disp = FETCH(cpustate);
if( cpustate->CF != 0 ) {
}
}
-static void I386OP(jg_rel8)(i386_state *cpustate) // Opcode 0x7f
+static void __FASTCALL I386OP(jg_rel8)(i386_state *cpustate) // Opcode 0x7f
{
INT8 disp = FETCH(cpustate);
if( cpustate->ZF == 0 && (cpustate->SF == cpustate->OF) ) {
}
}
-static void I386OP(jge_rel8)(i386_state *cpustate) // Opcode 0x7d
+static void __FASTCALL I386OP(jge_rel8)(i386_state *cpustate) // Opcode 0x7d
{
INT8 disp = FETCH(cpustate);
if(cpustate->SF == cpustate->OF) {
}
}
-static void I386OP(jl_rel8)(i386_state *cpustate) // Opcode 0x7c
+static void __FASTCALL I386OP(jl_rel8)(i386_state *cpustate) // Opcode 0x7c
{
INT8 disp = FETCH(cpustate);
if( (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jle_rel8)(i386_state *cpustate) // Opcode 0x7e
+static void __FASTCALL I386OP(jle_rel8)(i386_state *cpustate) // Opcode 0x7e
{
INT8 disp = FETCH(cpustate);
if( cpustate->ZF != 0 || (cpustate->SF != cpustate->OF) ) {
}
}
-static void I386OP(jnc_rel8)(i386_state *cpustate) // Opcode 0x73
+static void __FASTCALL I386OP(jnc_rel8)(i386_state *cpustate) // Opcode 0x73
{
INT8 disp = FETCH(cpustate);
if( cpustate->CF == 0 ) {
}
}
-static void I386OP(jno_rel8)(i386_state *cpustate) // Opcode 0x71
+static void __FASTCALL I386OP(jno_rel8)(i386_state *cpustate) // Opcode 0x71
{
INT8 disp = FETCH(cpustate);
if( cpustate->OF == 0 ) {
}
}
-static void I386OP(jnp_rel8)(i386_state *cpustate) // Opcode 0x7b
+static void __FASTCALL I386OP(jnp_rel8)(i386_state *cpustate) // Opcode 0x7b
{
INT8 disp = FETCH(cpustate);
if( cpustate->PF == 0 ) {
}
}
-static void I386OP(jns_rel8)(i386_state *cpustate) // Opcode 0x79
+static void __FASTCALL I386OP(jns_rel8)(i386_state *cpustate) // Opcode 0x79
{
INT8 disp = FETCH(cpustate);
if( cpustate->SF == 0 ) {
}
}
-static void I386OP(jnz_rel8)(i386_state *cpustate) // Opcode 0x75
+static void __FASTCALL I386OP(jnz_rel8)(i386_state *cpustate) // Opcode 0x75
{
INT8 disp = FETCH(cpustate);
if( cpustate->ZF == 0 ) {
}
}
-static void I386OP(jo_rel8)(i386_state *cpustate) // Opcode 0x70
+static void __FASTCALL I386OP(jo_rel8)(i386_state *cpustate) // Opcode 0x70
{
INT8 disp = FETCH(cpustate);
if( cpustate->OF != 0 ) {
}
}
-static void I386OP(jp_rel8)(i386_state *cpustate) // Opcode 0x7a
+static void __FASTCALL I386OP(jp_rel8)(i386_state *cpustate) // Opcode 0x7a
{
INT8 disp = FETCH(cpustate);
if( cpustate->PF != 0 ) {
}
}
-static void I386OP(js_rel8)(i386_state *cpustate) // Opcode 0x78
+static void __FASTCALL I386OP(js_rel8)(i386_state *cpustate) // Opcode 0x78
{
INT8 disp = FETCH(cpustate);
if( cpustate->SF != 0 ) {
}
}
-static void I386OP(jz_rel8)(i386_state *cpustate) // Opcode 0x74
+static void __FASTCALL I386OP(jz_rel8)(i386_state *cpustate) // Opcode 0x74
{
INT8 disp = FETCH(cpustate);
if( cpustate->ZF != 0 ) {
}
}
-static void I386OP(jmp_rel8)(i386_state *cpustate) // Opcode 0xeb
+static void __FASTCALL I386OP(jmp_rel8)(i386_state *cpustate) // Opcode 0xeb
{
INT8 disp = FETCH(cpustate);
NEAR_BRANCH(cpustate,disp);
CYCLES(cpustate,CYCLES_JMP_SHORT); /* TODO: Timing = 7 + m */
}
-static void I386OP(lahf)(i386_state *cpustate) // Opcode 0x9f
+static void __FASTCALL I386OP(lahf)(i386_state *cpustate) // Opcode 0x9f
{
REG8(AH) = get_flags(cpustate) & 0xd7;
CYCLES(cpustate,CYCLES_LAHF);
}
-static void I386OP(lodsb)(i386_state *cpustate) // Opcode 0xac
+static void __FASTCALL I386OP(lodsb)(i386_state *cpustate) // Opcode 0xac
{
UINT32 eas;
if( cpustate->segment_prefix ) {
CYCLES(cpustate,CYCLES_LODS);
}
-static void I386OP(mov_rm8_r8)(i386_state *cpustate) // Opcode 0x88
+static void __FASTCALL I386OP(mov_rm8_r8)(i386_state *cpustate) // Opcode 0x88
{
UINT8 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_r8_rm8)(i386_state *cpustate) // Opcode 0x8a
+static void __FASTCALL I386OP(mov_r8_rm8)(i386_state *cpustate) // Opcode 0x8a
{
UINT8 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_rm8_i8)(i386_state *cpustate) // Opcode 0xc6
+static void __FASTCALL I386OP(mov_rm8_i8)(i386_state *cpustate) // Opcode 0xc6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
//#include "./i386ctrlregdefs.h"
-static void I386OP(mov_r32_cr)(i386_state *cpustate) // Opcode 0x0f 20
+static void __FASTCALL I386OP(mov_r32_cr)(i386_state *cpustate) // Opcode 0x0f 20
{
#if 1
UINT32 oldpc = cpustate->prev_pc;
// ToDo: Implement paging bit.
}
-static void I386OP(mov_r32_dr)(i386_state *cpustate) // Opcode 0x0f 21
+static void __FASTCALL I386OP(mov_r32_dr)(i386_state *cpustate) // Opcode 0x0f 21
{
UINT8 modrm = FETCH(cpustate);
if(modrm < 0xc0) {
}
}
-static void I386OP(mov_cr_r32)(i386_state *cpustate) // Opcode 0x0f 22
+static void __FASTCALL I386OP(mov_cr_r32)(i386_state *cpustate) // Opcode 0x0f 22
{
#if 1
UINT32 oldpc = cpustate->prev_pc;
#endif
}
-static void I386OP(mov_dr_r32)(i386_state *cpustate) // Opcode 0x0f 23
+static void __FASTCALL I386OP(mov_dr_r32)(i386_state *cpustate) // Opcode 0x0f 23
{
UINT8 modrm = FETCH(cpustate);
if(modrm < 0xc0) {
}
}
-static void I386OP(mov_al_m8)(i386_state *cpustate) // Opcode 0xa0
+static void __FASTCALL I386OP(mov_al_m8)(i386_state *cpustate) // Opcode 0xa0
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_IMM_MEM);
}
-static void I386OP(mov_m8_al)(i386_state *cpustate) // Opcode 0xa2
+static void __FASTCALL I386OP(mov_m8_al)(i386_state *cpustate) // Opcode 0xa2
{
UINT32 offset, ea;
if( cpustate->address_size ) {
CYCLES(cpustate,CYCLES_MOV_MEM_ACC);
}
-static void I386OP(mov_rm16_sreg)(i386_state *cpustate) // Opcode 0x8c
+static void __FASTCALL I386OP(mov_rm16_sreg)(i386_state *cpustate) // Opcode 0x8c
{
UINT8 modrm = FETCH(cpustate);
int s = (modrm >> 3) & 0x7;
}
}
-static void I386OP(mov_sreg_rm16)(i386_state *cpustate) // Opcode 0x8e
+static void __FASTCALL I386OP(mov_sreg_rm16)(i386_state *cpustate) // Opcode 0x8e
{
UINT16 selector;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(mov_al_i8)(i386_state *cpustate) // Opcode 0xb0
+static void __FASTCALL I386OP(mov_al_i8)(i386_state *cpustate) // Opcode 0xb0
{
REG8(AL) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_cl_i8)(i386_state *cpustate) // Opcode 0xb1
+static void __FASTCALL I386OP(mov_cl_i8)(i386_state *cpustate) // Opcode 0xb1
{
REG8(CL) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_dl_i8)(i386_state *cpustate) // Opcode 0xb2
+static void __FASTCALL I386OP(mov_dl_i8)(i386_state *cpustate) // Opcode 0xb2
{
REG8(DL) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_bl_i8)(i386_state *cpustate) // Opcode 0xb3
+static void __FASTCALL I386OP(mov_bl_i8)(i386_state *cpustate) // Opcode 0xb3
{
REG8(BL) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_ah_i8)(i386_state *cpustate) // Opcode 0xb4
+static void __FASTCALL I386OP(mov_ah_i8)(i386_state *cpustate) // Opcode 0xb4
{
REG8(AH) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_ch_i8)(i386_state *cpustate) // Opcode 0xb5
+static void __FASTCALL I386OP(mov_ch_i8)(i386_state *cpustate) // Opcode 0xb5
{
REG8(CH) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_dh_i8)(i386_state *cpustate) // Opcode 0xb6
+static void __FASTCALL I386OP(mov_dh_i8)(i386_state *cpustate) // Opcode 0xb6
{
REG8(DH) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(mov_bh_i8)(i386_state *cpustate) // Opcode 0xb7
+static void __FASTCALL I386OP(mov_bh_i8)(i386_state *cpustate) // Opcode 0xb7
{
REG8(BH) = FETCH(cpustate);
CYCLES(cpustate,CYCLES_MOV_IMM_REG);
}
-static void I386OP(movsb)(i386_state *cpustate) // Opcode 0xa4
+static void __FASTCALL I386OP(movsb)(i386_state *cpustate) // Opcode 0xa4
{
UINT32 eas, ead;
UINT8 v;
CYCLES(cpustate,CYCLES_MOVS);
}
-static void I386OP(or_rm8_r8)(i386_state *cpustate) // Opcode 0x08
+static void __FASTCALL I386OP(or_rm8_r8)(i386_state *cpustate) // Opcode 0x08
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_r8_rm8)(i386_state *cpustate) // Opcode 0x0a
+static void __FASTCALL I386OP(or_r8_rm8)(i386_state *cpustate) // Opcode 0x0a
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(or_al_i8)(i386_state *cpustate) // Opcode 0x0c
+static void __FASTCALL I386OP(or_al_i8)(i386_state *cpustate) // Opcode 0x0c
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(out_al_i8)(i386_state *cpustate) // Opcode 0xe6
+static void __FASTCALL I386OP(out_al_i8)(i386_state *cpustate) // Opcode 0xe6
{
UINT16 port = FETCH(cpustate);
UINT8 data = REG8(AL);
CYCLES(cpustate,CYCLES_OUT_VAR);
}
-static void I386OP(out_al_dx)(i386_state *cpustate) // Opcode 0xee
+static void __FASTCALL I386OP(out_al_dx)(i386_state *cpustate) // Opcode 0xee
{
UINT16 port = REG16(DX);
UINT8 data = REG8(AL);
}
-static void I386OP(arpl)(i386_state *cpustate) // Opcode 0x63
+static void __FASTCALL I386OP(arpl)(i386_state *cpustate) // Opcode 0x63
{
UINT16 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(push_i8)(i386_state *cpustate) // Opcode 0x6a
+static void __FASTCALL I386OP(push_i8)(i386_state *cpustate) // Opcode 0x6a
{
UINT8 value = FETCH(cpustate);
PUSH8(cpustate,value);
CYCLES(cpustate,CYCLES_PUSH_IMM);
}
-static void I386OP(ins_generic)(i386_state *cpustate, int size)
+static void __FASTCALL I386OP(ins_generic)(i386_state *cpustate, int size)
{
UINT32 ead;
UINT8 vb;
CYCLES(cpustate,CYCLES_INS); // TODO: Confirm this value
}
-static void I386OP(insb)(i386_state *cpustate) // Opcode 0x6c
+static void __FASTCALL I386OP(insb)(i386_state *cpustate) // Opcode 0x6c
{
I386OP(ins_generic)(cpustate, 1);
}
-static void I386OP(insw)(i386_state *cpustate) // Opcode 0x6d
+static void __FASTCALL I386OP(insw)(i386_state *cpustate) // Opcode 0x6d
{
I386OP(ins_generic)(cpustate, 2);
}
-static void I386OP(insd)(i386_state *cpustate) // Opcode 0x6d
+static void __FASTCALL I386OP(insd)(i386_state *cpustate) // Opcode 0x6d
{
I386OP(ins_generic)(cpustate, 4);
}
-static void I386OP(outs_generic)(i386_state *cpustate, int size)
+static void __FASTCALL I386OP(outs_generic)(i386_state *cpustate, int size)
{
UINT32 eas;
UINT8 vb;
CYCLES(cpustate,CYCLES_OUTS); // TODO: Confirm this value
}
-static void I386OP(outsb)(i386_state *cpustate) // Opcode 0x6e
+static void __FASTCALL I386OP(outsb)(i386_state *cpustate) // Opcode 0x6e
{
I386OP(outs_generic)(cpustate, 1);
}
-static void I386OP(outsw)(i386_state *cpustate) // Opcode 0x6f
+static void __FASTCALL I386OP(outsw)(i386_state *cpustate) // Opcode 0x6f
{
I386OP(outs_generic)(cpustate, 2);
}
-static void I386OP(outsd)(i386_state *cpustate) // Opcode 0x6f
+static void __FASTCALL I386OP(outsd)(i386_state *cpustate) // Opcode 0x6f
{
I386OP(outs_generic)(cpustate, 4);
}
-static void I386OP(repeat)(i386_state *cpustate, int invert_flag)
+static void __FASTCALL I386OP(repeat)(i386_state *cpustate, int invert_flag)
{
UINT32 repeated_eip = cpustate->eip;
UINT32 repeated_pc = cpustate->pc;
CYCLES_NUM(-cycle_base);
}
-static void I386OP(rep)(i386_state *cpustate) // Opcode 0xf3
+static void __FASTCALL I386OP(rep)(i386_state *cpustate) // Opcode 0xf3
{
I386OP(repeat)(cpustate, 0);
}
-static void I386OP(repne)(i386_state *cpustate) // Opcode 0xf2
+static void __FASTCALL I386OP(repne)(i386_state *cpustate) // Opcode 0xf2
{
I386OP(repeat)(cpustate, 1);
}
-static void I386OP(sahf)(i386_state *cpustate) // Opcode 0x9e
+static void __FASTCALL I386OP(sahf)(i386_state *cpustate) // Opcode 0x9e
{
set_flags(cpustate, (get_flags(cpustate) & 0xffffff00) | (REG8(AH) & 0xd7) );
CYCLES(cpustate,CYCLES_SAHF);
}
-static void I386OP(sbb_rm8_r8)(i386_state *cpustate) // Opcode 0x18
+static void __FASTCALL I386OP(sbb_rm8_r8)(i386_state *cpustate) // Opcode 0x18
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_r8_rm8)(i386_state *cpustate) // Opcode 0x1a
+static void __FASTCALL I386OP(sbb_r8_rm8)(i386_state *cpustate) // Opcode 0x1a
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sbb_al_i8)(i386_state *cpustate) // Opcode 0x1c
+static void __FASTCALL I386OP(sbb_al_i8)(i386_state *cpustate) // Opcode 0x1c
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(scasb)(i386_state *cpustate) // Opcode 0xae
+static void __FASTCALL I386OP(scasb)(i386_state *cpustate) // Opcode 0xae
{
UINT32 eas;
UINT8 src, dst;
CYCLES(cpustate,CYCLES_SCAS);
}
-static void I386OP(setalc)(i386_state *cpustate) // Opcode 0xd6 (undocumented)
+static void __FASTCALL I386OP(setalc)(i386_state *cpustate) // Opcode 0xd6 (undocumented)
{
if( cpustate->CF ) {
REG8(AL) = 0xff;
CYCLES(cpustate,3);
}
-static void I386OP(seta_rm8)(i386_state *cpustate) // Opcode 0x0f 97
+static void __FASTCALL I386OP(seta_rm8)(i386_state *cpustate) // Opcode 0x0f 97
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setbe_rm8)(i386_state *cpustate) // Opcode 0x0f 96
+static void __FASTCALL I386OP(setbe_rm8)(i386_state *cpustate) // Opcode 0x0f 96
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setc_rm8)(i386_state *cpustate) // Opcode 0x0f 92
+static void __FASTCALL I386OP(setc_rm8)(i386_state *cpustate) // Opcode 0x0f 92
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setg_rm8)(i386_state *cpustate) // Opcode 0x0f 9f
+static void __FASTCALL I386OP(setg_rm8)(i386_state *cpustate) // Opcode 0x0f 9f
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setge_rm8)(i386_state *cpustate) // Opcode 0x0f 9d
+static void __FASTCALL I386OP(setge_rm8)(i386_state *cpustate) // Opcode 0x0f 9d
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setl_rm8)(i386_state *cpustate) // Opcode 0x0f 9c
+static void __FASTCALL I386OP(setl_rm8)(i386_state *cpustate) // Opcode 0x0f 9c
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setle_rm8)(i386_state *cpustate) // Opcode 0x0f 9e
+static void __FASTCALL I386OP(setle_rm8)(i386_state *cpustate) // Opcode 0x0f 9e
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setnc_rm8)(i386_state *cpustate) // Opcode 0x0f 93
+static void __FASTCALL I386OP(setnc_rm8)(i386_state *cpustate) // Opcode 0x0f 93
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setno_rm8)(i386_state *cpustate) // Opcode 0x0f 91
+static void __FASTCALL I386OP(setno_rm8)(i386_state *cpustate) // Opcode 0x0f 91
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setnp_rm8)(i386_state *cpustate) // Opcode 0x0f 9b
+static void __FASTCALL I386OP(setnp_rm8)(i386_state *cpustate) // Opcode 0x0f 9b
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setns_rm8)(i386_state *cpustate) // Opcode 0x0f 99
+static void __FASTCALL I386OP(setns_rm8)(i386_state *cpustate) // Opcode 0x0f 99
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setnz_rm8)(i386_state *cpustate) // Opcode 0x0f 95
+static void __FASTCALL I386OP(setnz_rm8)(i386_state *cpustate) // Opcode 0x0f 95
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(seto_rm8)(i386_state *cpustate) // Opcode 0x0f 90
+static void __FASTCALL I386OP(seto_rm8)(i386_state *cpustate) // Opcode 0x0f 90
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setp_rm8)(i386_state *cpustate) // Opcode 0x0f 9a
+static void __FASTCALL I386OP(setp_rm8)(i386_state *cpustate) // Opcode 0x0f 9a
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(sets_rm8)(i386_state *cpustate) // Opcode 0x0f 98
+static void __FASTCALL I386OP(sets_rm8)(i386_state *cpustate) // Opcode 0x0f 98
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(setz_rm8)(i386_state *cpustate) // Opcode 0x0f 94
+static void __FASTCALL I386OP(setz_rm8)(i386_state *cpustate) // Opcode 0x0f 94
{
UINT8 modrm = FETCH(cpustate);
UINT8 value = 0;
}
}
-static void I386OP(stc)(i386_state *cpustate) // Opcode 0xf9
+static void __FASTCALL I386OP(stc)(i386_state *cpustate) // Opcode 0xf9
{
cpustate->CF = 1;
CYCLES(cpustate,CYCLES_STC);
}
-static void I386OP(std)(i386_state *cpustate) // Opcode 0xfd
+static void __FASTCALL I386OP(std)(i386_state *cpustate) // Opcode 0xfd
{
cpustate->DF = 1;
CYCLES(cpustate,CYCLES_STD);
}
-static void I386OP(sti)(i386_state *cpustate) // Opcode 0xfb
+static void __FASTCALL I386OP(sti)(i386_state *cpustate) // Opcode 0xfb
{
if(PROTECTED_MODE)
{
CYCLES(cpustate,CYCLES_STI);
}
-static void I386OP(stosb)(i386_state *cpustate) // Opcode 0xaa
+static void __FASTCALL I386OP(stosb)(i386_state *cpustate) // Opcode 0xaa
{
UINT32 ead;
ead = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI), 1, 1 );
CYCLES(cpustate,CYCLES_STOS);
}
-static void I386OP(sub_rm8_r8)(i386_state *cpustate) // Opcode 0x28
+static void __FASTCALL I386OP(sub_rm8_r8)(i386_state *cpustate) // Opcode 0x28
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_r8_rm8)(i386_state *cpustate) // Opcode 0x2a
+static void __FASTCALL I386OP(sub_r8_rm8)(i386_state *cpustate) // Opcode 0x2a
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(sub_al_i8)(i386_state *cpustate) // Opcode 0x2c
+static void __FASTCALL I386OP(sub_al_i8)(i386_state *cpustate) // Opcode 0x2c
{
UINT8 src, dst;
src = FETCH(cpustate);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(test_al_i8)(i386_state *cpustate) // Opcode 0xa8
+static void __FASTCALL I386OP(test_al_i8)(i386_state *cpustate) // Opcode 0xa8
{
UINT8 src = FETCH(cpustate);
UINT8 dst = REG8(AL);
CYCLES(cpustate,CYCLES_ALU_IMM_ACC);
}
-static void I386OP(test_rm8_r8)(i386_state *cpustate) // Opcode 0x84
+static void __FASTCALL I386OP(test_rm8_r8)(i386_state *cpustate) // Opcode 0x84
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xchg_r8_rm8)(i386_state *cpustate) // Opcode 0x86
+static void __FASTCALL I386OP(xchg_r8_rm8)(i386_state *cpustate) // Opcode 0x86
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I386OP(xor_rm8_r8)(i386_state *cpustate) // Opcode 0x30
+static void __FASTCALL I386OP(xor_rm8_r8)(i386_state *cpustate) // Opcode 0x30
{
UINT8 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_r8_rm8)(i386_state *cpustate) // Opcode 0x32
+static void __FASTCALL I386OP(xor_r8_rm8)(i386_state *cpustate) // Opcode 0x32
{
UINT32 src, dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(xor_al_i8)(i386_state *cpustate) // Opcode 0x34
+static void __FASTCALL I386OP(xor_al_i8)(i386_state *cpustate) // Opcode 0x34
{
UINT8 src, dst;
src = FETCH(cpustate);
-static void I386OP(group80_8)(i386_state *cpustate) // Opcode 0x80
+static void __FASTCALL I386OP(group80_8)(i386_state *cpustate) // Opcode 0x80
{
UINT32 ea;
UINT8 src, dst;
}
}
-static void I386OP(groupC0_8)(i386_state *cpustate) // Opcode 0xc0
+static void __FASTCALL I386OP(groupC0_8)(i386_state *cpustate) // Opcode 0xc0
{
UINT8 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD0_8)(i386_state *cpustate) // Opcode 0xd0
+static void __FASTCALL I386OP(groupD0_8)(i386_state *cpustate) // Opcode 0xd0
{
UINT8 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupD2_8)(i386_state *cpustate) // Opcode 0xd2
+static void __FASTCALL I386OP(groupD2_8)(i386_state *cpustate) // Opcode 0xd2
{
UINT8 dst;
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupF6_8)(i386_state *cpustate) // Opcode 0xf6
+static void __FASTCALL I386OP(groupF6_8)(i386_state *cpustate) // Opcode 0xf6
{
UINT8 modrm = FETCH(cpustate);
}
}
-static void I386OP(groupFE_8)(i386_state *cpustate) // Opcode 0xfe
+static void __FASTCALL I386OP(groupFE_8)(i386_state *cpustate) // Opcode 0xfe
{
UINT8 modrm = FETCH(cpustate);
-static void I386OP(segment_CS)(i386_state *cpustate) // Opcode 0x2e
+static void __FASTCALL I386OP(segment_CS)(i386_state *cpustate) // Opcode 0x2e
{
cpustate->segment_prefix = 1;
cpustate->segment_override = CS;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(segment_DS)(i386_state *cpustate) // Opcode 0x3e
+static void __FASTCALL I386OP(segment_DS)(i386_state *cpustate) // Opcode 0x3e
{
cpustate->segment_prefix = 1;
cpustate->segment_override = DS;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(segment_ES)(i386_state *cpustate) // Opcode 0x26
+static void __FASTCALL I386OP(segment_ES)(i386_state *cpustate) // Opcode 0x26
{
cpustate->segment_prefix = 1;
cpustate->segment_override = ES;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(segment_FS)(i386_state *cpustate) // Opcode 0x64
+static void __FASTCALL I386OP(segment_FS)(i386_state *cpustate) // Opcode 0x64
{
cpustate->segment_prefix = 1;
cpustate->segment_override = FS;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(segment_GS)(i386_state *cpustate) // Opcode 0x65
+static void __FASTCALL I386OP(segment_GS)(i386_state *cpustate) // Opcode 0x65
{
cpustate->segment_prefix = 1;
cpustate->segment_override = GS;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(segment_SS)(i386_state *cpustate) // Opcode 0x36
+static void __FASTCALL I386OP(segment_SS)(i386_state *cpustate) // Opcode 0x36
{
cpustate->segment_prefix = 1;
cpustate->segment_override = SS;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(operand_size)(i386_state *cpustate) // Opcode prefix 0x66
+static void __FASTCALL I386OP(operand_size)(i386_state *cpustate) // Opcode prefix 0x66
{
if(cpustate->operand_prefix == 0)
{
}
}
-static void I386OP(address_size)(i386_state *cpustate) // Opcode 0x67
+static void __FASTCALL I386OP(address_size)(i386_state *cpustate) // Opcode 0x67
{
if(cpustate->address_prefix == 0)
{
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(nop)(i386_state *cpustate) // Opcode 0x90
+static void __FASTCALL I386OP(nop)(i386_state *cpustate) // Opcode 0x90
{
CYCLES(cpustate,CYCLES_NOP);
}
-static void I386OP(int3)(i386_state *cpustate) // Opcode 0xcc
+static void __FASTCALL I386OP(int3)(i386_state *cpustate) // Opcode 0xcc
{
CYCLES(cpustate,CYCLES_INT3);
logerror("INT3 at %08X\n", cpustate->pc - 1);
cpustate->ext = 1;
}
-static void I386OP(int_16)(i386_state *cpustate) // Opcode 0xcd
+static void __FASTCALL I386OP(int_16)(i386_state *cpustate) // Opcode 0xcd
{
int interrupt = FETCH(cpustate);
CYCLES(cpustate,CYCLES_INT);
cpustate->ext = 1;
}
-static void I386OP(int_32)(i386_state *cpustate) // Opcode 0xcd
+static void __FASTCALL I386OP(int_32)(i386_state *cpustate) // Opcode 0xcd
{
int interrupt = FETCH(cpustate);
CYCLES(cpustate,CYCLES_INT);
cpustate->ext = 1;
}
-static void I386OP(into)(i386_state *cpustate) // Opcode 0xce
+static void __FASTCALL I386OP(into)(i386_state *cpustate) // Opcode 0xce
{
if( cpustate->OF ) {
cpustate->ext = 0;
}
static UINT32 i386_escape_ea; // hack around GCC 4.6 error because we need the side effects of GetEA()
-static void I386OP(escape)(i386_state *cpustate) // Opcodes 0xd8 - 0xdf
+static void __FASTCALL I386OP(escape)(i386_state *cpustate) // Opcodes 0xd8 - 0xdf
{
UINT8 modrm = FETCH(cpustate);
if(modrm < 0xc0)
(void) LOAD_RM8(modrm);
}
-static void I386OP(hlt)(i386_state *cpustate) // Opcode 0xf4
+static void __FASTCALL I386OP(hlt)(i386_state *cpustate) // Opcode 0xf4
{
if(PROTECTED_MODE && cpustate->CPL != 0) {
logerror("Call from no-supervisor privilege: I386OP(hlt)");
cpustate->cycles = 0;
}
-static void I386OP(decimal_adjust)(i386_state *cpustate, int direction)
+static void __FASTCALL I386OP(decimal_adjust)(i386_state *cpustate, int direction)
{
UINT8 tmpAL = REG8(AL);
UINT8 tmpCF = cpustate->CF;
SetSZPF8(REG8(AL));
}
-static void I386OP(daa)(i386_state *cpustate) // Opcode 0x27
+static void __FASTCALL I386OP(daa)(i386_state *cpustate) // Opcode 0x27
{
I386OP(decimal_adjust)(cpustate, +1);
CYCLES(cpustate,CYCLES_DAA);
}
-static void I386OP(das)(i386_state *cpustate) // Opcode 0x2f
+static void __FASTCALL I386OP(das)(i386_state *cpustate) // Opcode 0x2f
{
I386OP(decimal_adjust)(cpustate, -1);
CYCLES(cpustate,CYCLES_DAS);
}
-static void I386OP(aaa)(i386_state *cpustate) // Opcode 0x37
+static void __FASTCALL I386OP(aaa)(i386_state *cpustate) // Opcode 0x37
{
if( ( (REG8(AL) & 0x0f) > 9) || (cpustate->AF != 0) ) {
REG16(AX) = REG16(AX) + 6;
CYCLES(cpustate,CYCLES_AAA);
}
-static void I386OP(aas)(i386_state *cpustate) // Opcode 0x3f
+static void __FASTCALL I386OP(aas)(i386_state *cpustate) // Opcode 0x3f
{
if (cpustate->AF || ((REG8(AL) & 0xf) > 9))
{
CYCLES(cpustate,CYCLES_AAS);
}
-static void I386OP(aad)(i386_state *cpustate) // Opcode 0xd5
+static void __FASTCALL I386OP(aad)(i386_state *cpustate) // Opcode 0xd5
{
UINT8 tempAL = REG8(AL);
UINT8 tempAH = REG8(AH);
CYCLES(cpustate,CYCLES_AAD);
}
-static void I386OP(aam)(i386_state *cpustate) // Opcode 0xd4
+static void __FASTCALL I386OP(aam)(i386_state *cpustate) // Opcode 0xd4
{
UINT8 tempAL = REG8(AL);
UINT8 i = FETCH(cpustate);
CYCLES(cpustate,CYCLES_AAM);
}
-static void I386OP(clts)(i386_state *cpustate) // Opcode 0x0f 0x06
+static void __FASTCALL I386OP(clts)(i386_state *cpustate) // Opcode 0x0f 0x06
{
// Privileged instruction, CPL must be zero. Can be used in real or v86 mode.
if(PROTECTED_MODE && cpustate->CPL != 0) {
CYCLES(cpustate,CYCLES_CLTS);
}
-static void I386OP(wait)(i386_state *cpustate) // Opcode 0x9B
+static void __FASTCALL I386OP(wait)(i386_state *cpustate) // Opcode 0x9B
{
// TODO
}
-static void I386OP(lock)(i386_state *cpustate) // Opcode 0xf0
+static void __FASTCALL I386OP(lock)(i386_state *cpustate) // Opcode 0xf0
{
// lock doesn't depend on iopl on 386
cpustate->lock = true;
I386OP(decode_opcode)(cpustate);
}
-static void I386OP(mov_r32_tr)(i386_state *cpustate) // Opcode 0x0f 24
+static void __FASTCALL I386OP(mov_r32_tr)(i386_state *cpustate) // Opcode 0x0f 24
{
FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void I386OP(mov_tr_r32)(i386_state *cpustate) // Opcode 0x0f 26
+static void __FASTCALL I386OP(mov_tr_r32)(i386_state *cpustate) // Opcode 0x0f 26
{
FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void I386OP(loadall)(i386_state *cpustate) // Opcode 0x0f 0x07 (0x0f 0x05 on 80286), undocumented
+static void __FASTCALL I386OP(loadall)(i386_state *cpustate) // Opcode 0x0f 0x07 (0x0f 0x05 on 80286), undocumented
{
if(PROTECTED_MODE && (cpustate->CPL != 0)) {
logerror("Call from non-supervisor privilege: I386OP(loadall)");
CHANGE_PC(cpustate, cpustate->eip);
}
-static void I386OP(invalid)(i386_state *cpustate)
+static void __FASTCALL I386OP(invalid)(i386_state *cpustate)
{
report_invalid_opcode(cpustate);
i386_trap(cpustate, 6, 0, 0);
}
-static void I386OP(xlat)(i386_state *cpustate) // Opcode 0xd7
+static void __FASTCALL I386OP(xlat)(i386_state *cpustate) // Opcode 0xd7
{
UINT32 ea;
if( cpustate->segment_prefix ) {
struct X86_OPCODE {
UINT8 opcode;
UINT32 flags;
- void (*handler16)(i386_state *cpustate);
- void (*handler32)(i386_state *cpustate);
+ void (__FASTCALL *handler16)(i386_state *cpustate);
+ void (__FASTCALL *handler32)(i386_state *cpustate);
bool lockable;
};
#define SREG_BITSIZE_FLAGS 4
// ARGS are pair32_t
-INLINE UINT32 sreg_get_base(UINT32 high, UINT32 low)
+INLINE UINT32 __FASTCALL sreg_get_base(UINT32 high, UINT32 low)
{
pair32_t ret;
pair32_t phigh;
return ret.d;
}
-INLINE UINT32 sreg_get_base_from_u64(UINT64 src)
+INLINE UINT32 __FASTCALL sreg_get_base_from_u64(UINT64 src)
{
pair32_t ret;
pair64_t pa;
return ret.d;
}
-INLINE UINT32 sreg_get_limit(UINT32 high, UINT32 low)
+INLINE UINT32 __FASTCALL sreg_get_limit(UINT32 high, UINT32 low)
{
pair32_t ret;
pair32_t phigh;
return ret.d;
}
-INLINE UINT32 sreg_get_limit_from_u64(UINT64 src)
+INLINE UINT32 __FASTCALL sreg_get_limit_from_u64(UINT64 src)
{
pair32_t ret;
pair64_t pa;
return ret.d;
}
-INLINE UINT8 sreg_get_flags(UINT32 high)
+INLINE UINT8 __FASTCALL sreg_get_flags(UINT32 high)
{
pair32_t phigh;
phigh.d = high;
return ((phigh.b.h2 & 0xf0) >> 4);
}
-INLINE UINT8 sreg_get_flags_from_u64(UINT64 src)
+INLINE UINT8 __FASTCALL sreg_get_flags_from_u64(UINT64 src)
{
pair32_t ret;
pair64_t pa;
return ((pa.b.h6 & 0xf0) >> 4);
}
-INLINE UINT8 sreg_get_access_byte(UINT32 high)
+INLINE UINT8 __FASTCALL sreg_get_access_byte(UINT32 high)
{
pair32_t phigh;
phigh.d = high;
return phigh.b.h;
}
-INLINE UINT8 sreg_get_access_byte_from_u64(UINT64 src)
+INLINE UINT8 __FASTCALL sreg_get_access_byte_from_u64(UINT64 src)
{
pair64_t pa;
UINT64 x87_inst_ptr;
UINT16 x87_opcode;
- void (*opcode_table_x87_d8[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_d9[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_da[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_db[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_dc[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_dd[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_de[256])(i386_state *cpustate, UINT8 modrm);
- void (*opcode_table_x87_df[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_d8[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_d9[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_da[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_db[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_dc[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_dd[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_de[256])(i386_state *cpustate, UINT8 modrm);
+ void (__FASTCALL *opcode_table_x87_df[256])(i386_state *cpustate, UINT8 modrm);
// SSE
XMM_REG sse_reg[8];
UINT32 mxcsr;
- void (*opcode_table1_16[256])(i386_state *cpustate);
- void (*opcode_table1_32[256])(i386_state *cpustate);
- void (*opcode_table2_16[256])(i386_state *cpustate);
- void (*opcode_table2_32[256])(i386_state *cpustate);
- void (*opcode_table338_16[256])(i386_state *cpustate);
- void (*opcode_table338_32[256])(i386_state *cpustate);
- void (*opcode_table33a_16[256])(i386_state *cpustate);
- void (*opcode_table33a_32[256])(i386_state *cpustate);
- void (*opcode_table366_16[256])(i386_state *cpustate);
- void (*opcode_table366_32[256])(i386_state *cpustate);
- void (*opcode_table3f2_16[256])(i386_state *cpustate);
- void (*opcode_table3f2_32[256])(i386_state *cpustate);
- void (*opcode_table3f3_16[256])(i386_state *cpustate);
- void (*opcode_table3f3_32[256])(i386_state *cpustate);
- void (*opcode_table46638_16[256])(i386_state *cpustate);
- void (*opcode_table46638_32[256])(i386_state *cpustate);
- void (*opcode_table4f238_16[256])(i386_state *cpustate);
- void (*opcode_table4f238_32[256])(i386_state *cpustate);
- void (*opcode_table4f338_16[256])(i386_state *cpustate);
- void (*opcode_table4f338_32[256])(i386_state *cpustate);
- void (*opcode_table4663a_16[256])(i386_state *cpustate);
- void (*opcode_table4663a_32[256])(i386_state *cpustate);
- void (*opcode_table4f23a_16[256])(i386_state *cpustate);
- void (*opcode_table4f23a_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table1_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table1_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table2_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table2_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table338_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table338_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table33a_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table33a_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table366_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table366_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table3f2_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table3f2_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table3f3_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table3f3_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table46638_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table46638_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f238_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f238_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f338_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f338_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4663a_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4663a_32[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f23a_16[256])(i386_state *cpustate);
+ void (__FASTCALL *opcode_table4f23a_32[256])(i386_state *cpustate);
bool lock_table[2][256];
/***********************************************************************************/
-INLINE int i386_limit_check(i386_state *cpustate, int seg, UINT32 offset, UINT32 size)
+INLINE int __FASTCALL i386_limit_check(i386_state *cpustate, int seg, UINT32 offset, UINT32 size)
{
// size = 1; // TBD
if(PROTECTED_MODE && !V8086_MODE)
return 0;
}
-INLINE UINT32 i386_translate(i386_state *cpustate, int segment, UINT32 ip, int rwn, UINT32 size)
+INLINE UINT32 __FASTCALL i386_translate(i386_state *cpustate, int segment, UINT32 ip, int rwn, UINT32 size)
{
// TODO: segment limit access size, execution permission, handle exception thrown from exception handler
if(PROTECTED_MODE && !V8086_MODE && (rwn != -1))
#define VTLB_FLAG_DIRTY 0x100
-vtlb_entry get_permissions(UINT32 pte, int wp)
+vtlb_entry __FASTCALL get_permissions(UINT32 pte, int wp)
{
vtlb_entry ret = VTLB_READ_ALLOWED | ((pte & 4) ? VTLB_USER_READ_ALLOWED : 0);
if(!wp)
return ret;
}
-INLINE int i386_translate_address(i386_state *cpustate, int intention, offs_t *address, vtlb_entry *entry)
+/*INLINE*/ int __FASTCALL i386_translate_address(i386_state *cpustate, int intention, offs_t *address, vtlb_entry *entry)
{
UINT32 a = *address;
UINT32 pdbr = cpustate->cr[3] & 0xfffff000;// I386_CR3_PD_MASK
return ret;
}
-INLINE int i386_translate_address_with_width(i386_state *cpustate, int intention, int width, offs_t *address, vtlb_entry *entry)
+/*INLINE*/ int __FASTCALL i386_translate_address_with_width(i386_state *cpustate, int intention, int width, offs_t *address, vtlb_entry *entry)
{
UINT32 a = *address;
UINT32 pdbr = cpustate->cr[3] & 0xfffff000;// I386_CR3_PD_MASK
//#define TEST_TLB
-INLINE int translate_address(i386_state *cpustate, int pl, int type, UINT32 *address, UINT32 *error)
+/*INLINE*/ int __FASTCALL translate_address(i386_state *cpustate, int pl, int type, UINT32 *address, UINT32 *error)
{
if(!(cpustate->cr[0] & I386_CR0_PG)) // Some (very few) old OS's won't work with this
return TRUE;
}
-INLINE int translate_address_with_width(i386_state *cpustate, int pl, int type, UINT32 width, UINT32 *address, UINT32 *error)
+/*INLINE*/ int __FASTCALL translate_address_with_width(i386_state *cpustate, int pl, int type, UINT32 width, UINT32 *address, UINT32 *error)
{
if(!(cpustate->cr[0] & I386_CR0_PG)) // Some (very few) old OS's won't work with this
return TRUE;
return TRUE;
}
-INLINE void CHANGE_PC(i386_state *cpustate, UINT32 pc)
+INLINE void __FASTCALL CHANGE_PC(i386_state *cpustate, UINT32 pc)
{
cpustate->pc = i386_translate(cpustate, CS, pc, -1, 1 );
}
-INLINE void NEAR_BRANCH(i386_state *cpustate, INT32 offs)
+INLINE void __FASTCALL NEAR_BRANCH(i386_state *cpustate, INT32 offs)
{
/* TODO: limit */
// if(i386_limit_check(cpustate, CS, cpustate->eip + offs, 1) != 0) {
// cpustate->pc = i386_translate(cpustate, CS, cpustate->pc + offs, -1, 1 );
}
-INLINE UINT8 FETCH(i386_state *cpustate)
+INLINE UINT8 __FASTCALL FETCH(i386_state *cpustate)
{
UINT8 value;
UINT32 address = cpustate->pc, error;
cpustate->pc++;
return value;
}
-INLINE UINT16 FETCH16(i386_state *cpustate)
+INLINE UINT16 __FASTCALL FETCH16(i386_state *cpustate)
{
UINT16 value;
UINT32 address = cpustate->pc, error;
}
return value;
}
-INLINE UINT32 FETCH32(i386_state *cpustate)
+INLINE UINT32 __FASTCALL FETCH32(i386_state *cpustate)
{
UINT32 value;
UINT32 address = cpustate->pc, error;
return value;
}
-INLINE UINT8 READ8(i386_state *cpustate,UINT32 ea)
+INLINE UINT8 __FASTCALL READ8(i386_state *cpustate,UINT32 ea)
{
UINT32 address = ea, error;
address &= cpustate->a20_mask;
return read_data8_with_wait(cpustate, address);
}
-INLINE UINT16 READ16(i386_state *cpustate,UINT32 ea)
+INLINE UINT16 __FASTCALL READ16(i386_state *cpustate,UINT32 ea)
{
UINT16 value;
UINT32 address = ea, error;
}
return value;
}
-INLINE UINT32 READ32(i386_state *cpustate,UINT32 ea)
+INLINE UINT32 __FASTCALL READ32(i386_state *cpustate,UINT32 ea)
{
UINT32 value;
UINT32 address = ea, error;
return value;
}
-INLINE UINT64 READ64(i386_state *cpustate,UINT32 ea)
+INLINE UINT64 __FASTCALL READ64(i386_state *cpustate,UINT32 ea)
{
UINT64 value;
UINT32 address = ea, error;
}
return value;
}
-INLINE UINT8 READ8PL0(i386_state *cpustate,UINT32 ea)
+
+INLINE UINT8 __FASTCALL READ8PL0(i386_state *cpustate,UINT32 ea)
{
UINT32 address = ea, error;
address &= cpustate->a20_mask;
return read_data8_with_wait(cpustate, address);
}
-INLINE UINT16 READ16PL0(i386_state *cpustate,UINT32 ea)
+INLINE UINT16 __FASTCALL READ16PL0(i386_state *cpustate,UINT32 ea)
{
UINT16 value;
UINT32 address = ea, error;
return value;
}
-INLINE UINT32 READ32PL0(i386_state *cpustate,UINT32 ea)
+INLINE UINT32 __FASTCALL READ32PL0(i386_state *cpustate,UINT32 ea)
{
UINT32 value;
UINT32 address = ea, error;
return value;
}
-INLINE void WRITE_TEST(i386_state *cpustate,UINT32 ea)
+INLINE void __FASTCALL WRITE_TEST(i386_state *cpustate,UINT32 ea)
{
UINT32 address = ea, error;
if(!translate_address(cpustate,cpustate->CPL,TRANSLATE_WRITE,&address,&error))
PF_THROW(error);
}
-INLINE void WRITE8(i386_state *cpustate,UINT32 ea, UINT8 value)
+INLINE void __FASTCALL WRITE8(i386_state *cpustate,UINT32 ea, UINT8 value)
{
UINT32 address = ea, error;
address &= cpustate->a20_mask;
write_data8_with_wait(cpustate, address, value);
}
-INLINE void WRITE16(i386_state *cpustate,UINT32 ea, UINT16 value)
+INLINE void __FASTCALL WRITE16(i386_state *cpustate,UINT32 ea, UINT16 value)
{
UINT32 address = ea, error;
write_data16_with_wait(cpustate, address, value);
}
}
-INLINE void WRITE32(i386_state *cpustate,UINT32 ea, UINT32 value)
+INLINE void __FASTCALL WRITE32(i386_state *cpustate,UINT32 ea, UINT32 value)
{
UINT32 address = ea, error;
}
}
-INLINE void WRITE64(i386_state *cpustate,UINT32 ea, UINT64 value)
+INLINE void __FASTCALL WRITE64(i386_state *cpustate,UINT32 ea, UINT64 value)
{
UINT32 address = ea, error;
/***********************************************************************************/
-INLINE UINT8 OR8(i386_state *cpustate,UINT8 dst, UINT8 src)
+INLINE UINT8 __FASTCALL OR8(i386_state *cpustate,UINT8 dst, UINT8 src)
{
UINT8 res = dst | src;
cpustate->CF = cpustate->OF = 0;
SetSZPF8(res);
return res;
}
-INLINE UINT16 OR16(i386_state *cpustate,UINT16 dst, UINT16 src)
+INLINE UINT16 __FASTCALL OR16(i386_state *cpustate,UINT16 dst, UINT16 src)
{
UINT16 res = dst | src;
cpustate->CF = cpustate->OF = 0;
SetSZPF16(res);
return res;
}
-INLINE UINT32 OR32(i386_state *cpustate,UINT32 dst, UINT32 src)
+INLINE UINT32 __FASTCALL OR32(i386_state *cpustate,UINT32 dst, UINT32 src)
{
UINT32 res = dst | src;
cpustate->CF = cpustate->OF = 0;
return res;
}
-INLINE UINT8 AND8(i386_state *cpustate,UINT8 dst, UINT8 src)
+INLINE UINT8 __FASTCALL AND8(i386_state *cpustate,UINT8 dst, UINT8 src)
{
UINT8 res = dst & src;
cpustate->CF = cpustate->OF = 0;
SetSZPF8(res);
return res;
}
-INLINE UINT16 AND16(i386_state *cpustate,UINT16 dst, UINT16 src)
+INLINE UINT16 __FASTCALL AND16(i386_state *cpustate,UINT16 dst, UINT16 src)
{
UINT16 res = dst & src;
cpustate->CF = cpustate->OF = 0;
SetSZPF16(res);
return res;
}
-INLINE UINT32 AND32(i386_state *cpustate,UINT32 dst, UINT32 src)
+INLINE UINT32 __FASTCALL AND32(i386_state *cpustate,UINT32 dst, UINT32 src)
{
UINT32 res = dst & src;
cpustate->CF = cpustate->OF = 0;
return res;
}
-INLINE UINT8 XOR8(i386_state *cpustate,UINT8 dst, UINT8 src)
+INLINE UINT8 __FASTCALL XOR8(i386_state *cpustate,UINT8 dst, UINT8 src)
{
UINT8 res = dst ^ src;
cpustate->CF = cpustate->OF = 0;
SetSZPF8(res);
return res;
}
-INLINE UINT16 XOR16(i386_state *cpustate,UINT16 dst, UINT16 src)
+INLINE UINT16 __FASTCALL XOR16(i386_state *cpustate,UINT16 dst, UINT16 src)
{
UINT16 res = dst ^ src;
cpustate->CF = cpustate->OF = 0;
SetSZPF16(res);
return res;
}
-INLINE UINT32 XOR32(i386_state *cpustate,UINT32 dst, UINT32 src)
+INLINE UINT32 __FASTCALL XOR32(i386_state *cpustate,UINT32 dst, UINT32 src)
{
UINT32 res = dst ^ src;
cpustate->CF = cpustate->OF = 0;
}
#define SUB8(cpu, dst, src) SBB8(cpu, dst, src, 0)
-INLINE UINT8 SBB8(i386_state *cpustate,UINT8 dst, UINT8 src, UINT8 b)
+INLINE UINT8 __FASTCALL SBB8(i386_state *cpustate,UINT8 dst, UINT8 src, UINT8 b)
{
UINT16 res = (UINT16)dst - (UINT16)src - (UINT8)b;
SetCF8(res);
}
#define SUB16(cpu, dst, src) SBB16(cpu, dst, src, 0)
-INLINE UINT16 SBB16(i386_state *cpustate,UINT16 dst, UINT16 src, UINT16 b)
+INLINE UINT16 __FASTCALL SBB16(i386_state *cpustate,UINT16 dst, UINT16 src, UINT16 b)
{
UINT32 res = (UINT32)dst - (UINT32)src - (UINT32)b;
SetCF16(res);
}
#define SUB32(cpu, dst, src) SBB32(cpu, dst, src, 0)
-INLINE UINT32 SBB32(i386_state *cpustate,UINT32 dst, UINT32 src, UINT32 b)
+INLINE UINT32 __FASTCALL SBB32(i386_state *cpustate,UINT32 dst, UINT32 src, UINT32 b)
{
UINT64 res = (UINT64)dst - (UINT64)src - (UINT64) b;
SetCF32(res);
}
#define ADD8(cpu, dst, src) ADC8(cpu, dst, src, 0)
-INLINE UINT8 ADC8(i386_state *cpustate,UINT8 dst, UINT8 src, UINT8 c)
+INLINE UINT8 __FASTCALL ADC8(i386_state *cpustate,UINT8 dst, UINT8 src, UINT8 c)
{
UINT16 res = (UINT16)dst + (UINT16)src + (UINT16)c;
SetCF8(res);
}
#define ADD16(cpu, dst, src) ADC16(cpu, dst, src, 0)
-INLINE UINT16 ADC16(i386_state *cpustate,UINT16 dst, UINT16 src, UINT8 c)
+INLINE UINT16 __FASTCALL ADC16(i386_state *cpustate,UINT16 dst, UINT16 src, UINT8 c)
{
UINT32 res = (UINT32)dst + (UINT32)src + (UINT32)c;
SetCF16(res);
}
#define ADD32(cpu, dst, src) ADC32(cpu, dst, src, 0)
-INLINE UINT32 ADC32(i386_state *cpustate,UINT32 dst, UINT32 src, UINT32 c)
+INLINE UINT32 __FASTCALL ADC32(i386_state *cpustate,UINT32 dst, UINT32 src, UINT32 c)
{
UINT64 res = (UINT64)dst + (UINT64)src + (UINT64) c;
SetCF32(res);
return (UINT32)res;
}
-INLINE UINT8 INC8(i386_state *cpustate,UINT8 dst)
+INLINE UINT8 __FASTCALL INC8(i386_state *cpustate,UINT8 dst)
{
UINT16 res = (UINT16)dst + 1;
SetOF_Add8(res,1,dst);
SetSZPF8(res);
return (UINT8)res;
}
-INLINE UINT16 INC16(i386_state *cpustate,UINT16 dst)
+INLINE UINT16 __FASTCALL INC16(i386_state *cpustate,UINT16 dst)
{
UINT32 res = (UINT32)dst + 1;
SetOF_Add16(res,1,dst);
SetSZPF16(res);
return (UINT16)res;
}
-INLINE UINT32 INC32(i386_state *cpustate,UINT32 dst)
+INLINE UINT32 __FASTCALL INC32(i386_state *cpustate,UINT32 dst)
{
UINT64 res = (UINT64)dst + 1;
SetOF_Add32(res,1,dst);
return (UINT32)res;
}
-INLINE UINT8 DEC8(i386_state *cpustate,UINT8 dst)
+INLINE UINT8 __FASTCALL DEC8(i386_state *cpustate,UINT8 dst)
{
UINT16 res = (UINT16)dst - 1;
SetOF_Sub8(res,1,dst);
SetSZPF8(res);
return (UINT8)res;
}
-INLINE UINT16 DEC16(i386_state *cpustate,UINT16 dst)
+INLINE UINT16 __FASTCALL DEC16(i386_state *cpustate,UINT16 dst)
{
UINT32 res = (UINT32)dst - 1;
SetOF_Sub16(res,1,dst);
SetSZPF16(res);
return (UINT16)res;
}
-INLINE UINT32 DEC32(i386_state *cpustate,UINT32 dst)
+INLINE UINT32 __FASTCALL DEC32(i386_state *cpustate,UINT32 dst)
{
UINT64 res = (UINT64)dst - 1;
SetOF_Sub32(res,1,dst);
-INLINE void PUSH16(i386_state *cpustate,UINT16 value)
+INLINE void __FASTCALL PUSH16(i386_state *cpustate,UINT16 value)
{
UINT32 ea, new_esp;
if( STACK_32BIT ) {
REG16(SP) = new_esp;
}
}
-INLINE void PUSH32(i386_state *cpustate,UINT32 value)
+INLINE void __FASTCALL PUSH32(i386_state *cpustate,UINT32 value)
{
UINT32 ea, new_esp;
if( STACK_32BIT ) {
}
}
-INLINE void PUSH32SEG(i386_state *cpustate,UINT32 value)
+INLINE void __FASTCALL PUSH32SEG(i386_state *cpustate,UINT32 value)
{
UINT32 ea, new_esp;
if( STACK_32BIT ) {
}
}
-INLINE void PUSH8(i386_state *cpustate,UINT8 value)
+INLINE void __FASTCALL PUSH8(i386_state *cpustate,UINT8 value)
{
if( cpustate->operand_size ) {
PUSH32(cpustate,(INT32)(INT8)value);
}
}
-INLINE UINT8 POP8(i386_state *cpustate)
+INLINE UINT8 __FASTCALL POP8(i386_state *cpustate)
{
UINT8 value;
UINT32 ea, new_esp;
}
return value;
}
-INLINE UINT16 POP16(i386_state *cpustate)
+INLINE UINT16 __FASTCALL POP16(i386_state *cpustate)
{
UINT16 value;
UINT32 ea, new_esp;
}
return value;
}
-INLINE UINT32 POP32(i386_state *cpustate)
+INLINE UINT32 __FASTCALL POP32(i386_state *cpustate)
{
UINT32 value;
UINT32 ea, new_esp;
return value;
}
-INLINE void BUMP_SI(i386_state *cpustate,int adjustment)
+INLINE void __FASTCALL BUMP_SI(i386_state *cpustate,int adjustment)
{
if ( cpustate->address_size )
REG32(ESI) += ((cpustate->DF) ? -adjustment : +adjustment);
REG16(SI) += ((cpustate->DF) ? -adjustment : +adjustment);
}
-INLINE void BUMP_DI(i386_state *cpustate,int adjustment)
+INLINE void __FASTCALL BUMP_DI(i386_state *cpustate,int adjustment)
{
if ( cpustate->address_size )
REG32(EDI) += ((cpustate->DF) ? -adjustment : +adjustment);
I/O ACCESS
***********************************************************************************/
-INLINE void check_ioperm(i386_state *cpustate, offs_t port, UINT8 mask)
+INLINE void __FASTCALL check_ioperm(i386_state *cpustate, offs_t port, UINT8 mask)
{
UINT8 IOPL, map;
UINT16 IOPB;
FAULT_THROW(FAULT_GP,0);
}
-INLINE UINT8 READPORT8(i386_state *cpustate, offs_t port)
+INLINE UINT8 __FASTCALL READPORT8(i386_state *cpustate, offs_t port)
{
check_ioperm(cpustate, port, 1);
return cpustate->io->read_io8(port);
}
-INLINE void WRITEPORT8(i386_state *cpustate, offs_t port, UINT8 value)
+INLINE void __FASTCALL WRITEPORT8(i386_state *cpustate, offs_t port, UINT8 value)
{
check_ioperm(cpustate, port, 1);
cpustate->io->write_io8(port, value);
}
-INLINE UINT16 READPORT16(i386_state *cpustate, offs_t port)
+INLINE UINT16 __FASTCALL READPORT16(i386_state *cpustate, offs_t port)
{
if (port & 1)
{
}
}
-INLINE void WRITEPORT16(i386_state *cpustate, offs_t port, UINT16 value)
+INLINE void __FASTCALL WRITEPORT16(i386_state *cpustate, offs_t port, UINT16 value)
{
if (port & 1)
{
}
}
-INLINE UINT32 READPORT32(i386_state *cpustate, offs_t port)
+INLINE UINT32 __FASTCALL READPORT32(i386_state *cpustate, offs_t port)
{
if (port & 3)
{
}
}
-INLINE void WRITEPORT32(i386_state *cpustate, offs_t port, UINT32 value)
+INLINE void __FASTCALL WRITEPORT32(i386_state *cpustate, offs_t port, UINT32 value)
{
if (port & 3)
{
***********************************************************************************/
// Pentium MSR handling
-UINT64 pentium_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
+UINT64 __FASTCALL pentium_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
{
switch(offset)
{
return -1;
}
-void pentium_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
+void __FASTCALL pentium_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
{
switch(offset)
{
}
// P6 (Pentium Pro, Pentium II, Pentium III) MSR handling
-UINT64 p6_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
+UINT64 __FASTCALL p6_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
{
switch(offset)
{
return -1;
}
-void p6_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
+void __FASTCALL p6_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
{
switch(offset)
{
}
// PIV (Pentium 4+)
-UINT64 piv_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
+UINT64 __FASTCALL piv_msr_read(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
{
switch(offset)
{
return -1;
}
-void piv_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
+void __FASTCALL piv_msr_write(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
{
switch(offset)
{
}
}
-INLINE UINT64 MSR_READ(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
+INLINE UINT64 __FASTCALL MSR_READ(i386_state *cpustate, UINT32 offset,UINT8 *valid_msr)
{
UINT64 res;
UINT8 cpu_type = (cpustate->cpu_version >> 8) & 0x0f;
return res;
}
-INLINE void MSR_WRITE(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
+INLINE void __FASTCALL MSR_WRITE(i386_state *cpustate, UINT32 offset, UINT64 data, UINT8 *valid_msr)
{
*valid_msr = 0;
UINT8 cpu_type = (cpustate->cpu_version >> 8) & 0x0f;
// copyright-holders:Ville Linde, Barry Rodewald, Carl, Philip Bennett
// Intel 486+ specific opcodes
-static void I486OP(cpuid)(i386_state *cpustate) // Opcode 0x0F A2
+static void __FASTCALL I486OP(cpuid)(i386_state *cpustate) // Opcode 0x0F A2
{
if (cpustate->cpuid_id0 == 0)
{
}
}
-static void I486OP(invd)(i386_state *cpustate) // Opcode 0x0f 08
+static void __FASTCALL I486OP(invd)(i386_state *cpustate) // Opcode 0x0f 08
{
// Nothing to do ?
CYCLES(cpustate,CYCLES_INVD);
}
-static void I486OP(wbinvd)(i386_state *cpustate) // Opcode 0x0f 09
+static void __FASTCALL I486OP(wbinvd)(i386_state *cpustate) // Opcode 0x0f 09
{
// Nothing to do ?
}
-static void I486OP(cmpxchg_rm8_r8)(i386_state *cpustate) // Opcode 0x0f b0
+static void __FASTCALL I486OP(cmpxchg_rm8_r8)(i386_state *cpustate) // Opcode 0x0f b0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(cmpxchg_rm16_r16)(i386_state *cpustate) // Opcode 0x0f b1
+static void __FASTCALL I486OP(cmpxchg_rm16_r16)(i386_state *cpustate) // Opcode 0x0f b1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(cmpxchg_rm32_r32)(i386_state *cpustate) // Opcode 0x0f b1
+static void __FASTCALL I486OP(cmpxchg_rm32_r32)(i386_state *cpustate) // Opcode 0x0f b1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(xadd_rm8_r8)(i386_state *cpustate) // Opcode 0x0f c0
+static void __FASTCALL I486OP(xadd_rm8_r8)(i386_state *cpustate) // Opcode 0x0f c0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(xadd_rm16_r16)(i386_state *cpustate) // Opcode 0x0f c1
+static void __FASTCALL I486OP(xadd_rm16_r16)(i386_state *cpustate) // Opcode 0x0f c1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(xadd_rm32_r32)(i386_state *cpustate) // Opcode 0x0f c1
+static void __FASTCALL I486OP(xadd_rm32_r32)(i386_state *cpustate) // Opcode 0x0f c1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void I486OP(group0F01_16)(i386_state *cpustate) // Opcode 0x0f 01
+static void __FASTCALL I486OP(group0F01_16)(i386_state *cpustate) // Opcode 0x0f 01
{
UINT8 modrm = FETCH(cpustate);
UINT16 address;
}
}
-static void I486OP(group0F01_32)(i386_state *cpustate) // Opcode 0x0f 01
+static void __FASTCALL I486OP(group0F01_32)(i386_state *cpustate) // Opcode 0x0f 01
{
UINT8 modrm = FETCH(cpustate);
UINT32 address, ea;
}
}
-static void I486OP(bswap_eax)(i386_state *cpustate) // Opcode 0x0f 38
+static void __FASTCALL I486OP(bswap_eax)(i386_state *cpustate) // Opcode 0x0f 38
{
REG32(EAX) = SWITCH_ENDIAN_32(REG32(EAX));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_ecx)(i386_state *cpustate) // Opcode 0x0f 39
+static void __FASTCALL I486OP(bswap_ecx)(i386_state *cpustate) // Opcode 0x0f 39
{
REG32(ECX) = SWITCH_ENDIAN_32(REG32(ECX));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_edx)(i386_state *cpustate) // Opcode 0x0f 3A
+static void __FASTCALL I486OP(bswap_edx)(i386_state *cpustate) // Opcode 0x0f 3A
{
REG32(EDX) = SWITCH_ENDIAN_32(REG32(EDX));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_ebx)(i386_state *cpustate) // Opcode 0x0f 3B
+static void __FASTCALL I486OP(bswap_ebx)(i386_state *cpustate) // Opcode 0x0f 3B
{
REG32(EBX) = SWITCH_ENDIAN_32(REG32(EBX));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_esp)(i386_state *cpustate) // Opcode 0x0f 3C
+static void __FASTCALL I486OP(bswap_esp)(i386_state *cpustate) // Opcode 0x0f 3C
{
REG32(ESP) = SWITCH_ENDIAN_32(REG32(ESP));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_ebp)(i386_state *cpustate) // Opcode 0x0f 3D
+static void __FASTCALL I486OP(bswap_ebp)(i386_state *cpustate) // Opcode 0x0f 3D
{
REG32(EBP) = SWITCH_ENDIAN_32(REG32(EBP));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_esi)(i386_state *cpustate) // Opcode 0x0f 3E
+static void __FASTCALL I486OP(bswap_esi)(i386_state *cpustate) // Opcode 0x0f 3E
{
REG32(ESI) = SWITCH_ENDIAN_32(REG32(ESI));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(bswap_edi)(i386_state *cpustate) // Opcode 0x0f 3F
+static void __FASTCALL I486OP(bswap_edi)(i386_state *cpustate) // Opcode 0x0f 3F
{
REG32(EDI) = SWITCH_ENDIAN_32(REG32(EDI));
CYCLES(cpustate,1); // TODO
}
-static void I486OP(mov_cr_r32)(i386_state *cpustate) // Opcode 0x0f 22
+static void __FASTCALL I486OP(mov_cr_r32)(i386_state *cpustate) // Opcode 0x0f 22
{
if(PROTECTED_MODE && cpustate->CPL)
FAULT(FAULT_GP, 0);
extern flag float32_is_nan( float32 a ); // since its not defined in softfloat.h
extern flag float64_is_nan( float64 a ); // since its not defined in softfloat.h
-INLINE void MMXPROLOG(i386_state *cpustate)
+INLINE void __FASTCALL MMXPROLOG(i386_state *cpustate)
{
//cpustate->x87_sw &= ~(X87_SW_TOP_MASK << X87_SW_TOP_SHIFT); // top = 0
cpustate->x87_tw = 0; // tag word = 0
}
-INLINE void READMMX(i386_state *cpustate,UINT32 ea,MMX_REG &r)
+INLINE void __FASTCALL READMMX(i386_state *cpustate,UINT32 ea,MMX_REG &r)
{
r.q=READ64(cpustate, ea);
}
-INLINE void WRITEMMX(i386_state *cpustate,UINT32 ea,MMX_REG &r)
+INLINE void __FASTCALL WRITEMMX(i386_state *cpustate,UINT32 ea,MMX_REG &r)
{
WRITE64(cpustate, ea, r.q);
}
-INLINE void READXMM(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL READXMM(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
r.q[0]=READ64(cpustate, ea);
r.q[1]=READ64(cpustate, ea+8);
}
-INLINE void WRITEXMM(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL WRITEXMM(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
WRITE64(cpustate, ea, r.q[0]);
WRITE64(cpustate, ea+8, r.q[1]);
}
-INLINE void READXMM_LO64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL READXMM_LO64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
r.q[0]=READ64(cpustate, ea);
}
-INLINE void WRITEXMM_LO64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL WRITEXMM_LO64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
WRITE64(cpustate, ea, r.q[0]);
}
-INLINE void READXMM_HI64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL READXMM_HI64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
r.q[1]=READ64(cpustate, ea);
}
-INLINE void WRITEXMM_HI64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
+INLINE void __FASTCALL WRITEXMM_HI64(i386_state *cpustate,UINT32 ea,XMM_REG &r)
{
WRITE64(cpustate, ea, r.q[1]);
}
-static void PENTIUMOP(rdmsr)(i386_state* cpustate) // Opcode 0x0f 32
+static void __FASTCALL PENTIUMOP(rdmsr)(i386_state* cpustate) // Opcode 0x0f 32
{
UINT64 data;
UINT8 valid_msr = 0;
CYCLES(cpustate,CYCLES_RDMSR);
}
-static void PENTIUMOP(wrmsr)(i386_state* cpustate) // Opcode 0x0f 30
+static void __FASTCALL PENTIUMOP(wrmsr)(i386_state* cpustate) // Opcode 0x0f 30
{
UINT64 data;
UINT8 valid_msr = 0;
CYCLES(cpustate,1); // TODO: correct cycle count (~30-45)
}
-static void PENTIUMOP(rdtsc)(i386_state* cpustate) // Opcode 0x0f 31
+static void __FASTCALL PENTIUMOP(rdtsc)(i386_state* cpustate) // Opcode 0x0f 31
{
UINT64 ts = cpustate->tsc + (cpustate->base_cycles - cpustate->cycles);
REG32(EAX) = (UINT32)(ts);
CYCLES(cpustate,CYCLES_RDTSC);
}
-static void PENTIUMOP(ud2)(i386_state* cpustate) // Opcode 0x0f 0b
+static void __FASTCALL PENTIUMOP(ud2)(i386_state* cpustate) // Opcode 0x0f 0b
{
i386_trap(cpustate, 6, 0, 0);
}
-static void PENTIUMOP(rsm)(i386_state* cpustate)
+static void __FASTCALL PENTIUMOP(rsm)(i386_state* cpustate)
{
UINT32 smram_state = cpustate->smbase + 0xfe00;
if(!cpustate->smm)
}
}
-static void PENTIUMOP(prefetch_m8)(i386_state* cpustate) // Opcode 0x0f 18
+static void __FASTCALL PENTIUMOP(prefetch_m8)(i386_state* cpustate) // Opcode 0x0f 18
{
UINT8 modrm = FETCH(cpustate);
UINT32 ea = GetEA(cpustate,modrm,0,1);
CYCLES(cpustate,1+(ea & 1)); // TODO: correct cycle count
}
-static void PENTIUMOP(cmovo_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 40
+static void __FASTCALL PENTIUMOP(cmovo_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 40
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovo_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 40
+static void __FASTCALL PENTIUMOP(cmovo_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 40
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovno_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 41
+static void __FASTCALL PENTIUMOP(cmovno_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 41
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovno_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 41
+static void __FASTCALL PENTIUMOP(cmovno_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 41
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovb_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 42
+static void __FASTCALL PENTIUMOP(cmovb_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 42
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovb_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 42
+static void __FASTCALL PENTIUMOP(cmovb_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 42
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovae_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 43
+static void __FASTCALL PENTIUMOP(cmovae_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 43
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovae_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 43
+static void __FASTCALL PENTIUMOP(cmovae_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 43
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmove_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 44
+static void __FASTCALL PENTIUMOP(cmove_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 44
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmove_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 44
+static void __FASTCALL PENTIUMOP(cmove_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 44
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovne_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 45
+static void __FASTCALL PENTIUMOP(cmovne_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 45
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovne_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 45
+static void __FASTCALL PENTIUMOP(cmovne_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 45
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovbe_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 46
+static void __FASTCALL PENTIUMOP(cmovbe_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 46
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovbe_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 46
+static void __FASTCALL PENTIUMOP(cmovbe_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 46
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmova_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 47
+static void __FASTCALL PENTIUMOP(cmova_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 47
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmova_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 47
+static void __FASTCALL PENTIUMOP(cmova_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 47
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovs_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 48
+static void __FASTCALL PENTIUMOP(cmovs_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 48
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovs_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 48
+static void __FASTCALL PENTIUMOP(cmovs_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 48
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovns_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 49
+static void __FASTCALL PENTIUMOP(cmovns_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 49
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovns_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 49
+static void __FASTCALL PENTIUMOP(cmovns_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 49
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovp_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4a
+static void __FASTCALL PENTIUMOP(cmovp_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4a
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovp_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4a
+static void __FASTCALL PENTIUMOP(cmovp_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4a
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovnp_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4b
+static void __FASTCALL PENTIUMOP(cmovnp_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4b
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovnp_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4b
+static void __FASTCALL PENTIUMOP(cmovnp_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4b
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovl_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4c
+static void __FASTCALL PENTIUMOP(cmovl_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4c
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovl_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4c
+static void __FASTCALL PENTIUMOP(cmovl_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4c
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovge_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4d
+static void __FASTCALL PENTIUMOP(cmovge_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4d
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovge_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4d
+static void __FASTCALL PENTIUMOP(cmovge_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4d
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovle_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4e
+static void __FASTCALL PENTIUMOP(cmovle_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4e
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovle_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4e
+static void __FASTCALL PENTIUMOP(cmovle_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4e
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovg_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4f
+static void __FASTCALL PENTIUMOP(cmovg_r16_rm16)(i386_state* cpustate) // Opcode 0x0f 4f
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(cmovg_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4f
+static void __FASTCALL PENTIUMOP(cmovg_r32_rm32)(i386_state* cpustate) // Opcode 0x0f 4f
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(movnti_m16_r16)(i386_state* cpustate) // Opcode 0f c3
+static void __FASTCALL PENTIUMOP(movnti_m16_r16)(i386_state* cpustate) // Opcode 0f c3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void PENTIUMOP(movnti_m32_r32)(i386_state* cpustate) // Opcode 0f c3
+static void __FASTCALL PENTIUMOP(movnti_m32_r32)(i386_state* cpustate) // Opcode 0f c3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1);
}
-static void PENTIUMOP(cmpxchg8b_m64)(i386_state* cpustate) // Opcode 0x0f c7
+static void __FASTCALL PENTIUMOP(cmpxchg8b_m64)(i386_state* cpustate) // Opcode 0x0f c7
{
UINT8 modm = FETCH(cpustate);
if( modm >= 0xc0 ) {
}
}
-static void PENTIUMOP(movntq_m64_r64)(i386_state* cpustate) // Opcode 0f e7
+static void __FASTCALL PENTIUMOP(movntq_m64_r64)(i386_state* cpustate) // Opcode 0f e7
{
//MMXPROLOG(cpustate); // TODO: check if needed
UINT8 modrm = FETCH(cpustate);
}
}
-static void PENTIUMOP(maskmovq_r64_r64)(i386_state* cpustate) // Opcode 0f f7
+static void __FASTCALL PENTIUMOP(maskmovq_r64_r64)(i386_state* cpustate) // Opcode 0f f7
{
int s,m,n;
UINT8 modm = FETCH(cpustate);
WRITE8(cpustate,ea+n, XMM(s).b[n]);
}
-static void PENTIUMOP(popcnt_r16_rm16)(i386_state* cpustate) // Opcode f3 0f b8
+static void __FASTCALL PENTIUMOP(popcnt_r16_rm16)(i386_state* cpustate) // Opcode f3 0f b8
{
UINT16 src;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void PENTIUMOP(popcnt_r32_rm32)(i386_state* cpustate) // Opcode f3 0f b8
+static void __FASTCALL PENTIUMOP(popcnt_r32_rm32)(i386_state* cpustate) // Opcode f3 0f b8
{
UINT32 src;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void PENTIUMOP(tzcnt_r16_rm16)(i386_state* cpustate)
+static void __FASTCALL PENTIUMOP(tzcnt_r16_rm16)(i386_state* cpustate)
{
// for CPUs that don't support TZCNT, fall back to BSF
i386_bsf_r16_rm16(cpustate);
// TODO: actually implement TZCNT
}
-static void PENTIUMOP(tzcnt_r32_rm32)(i386_state* cpustate)
+static void __FASTCALL PENTIUMOP(tzcnt_r32_rm32)(i386_state* cpustate)
{
// for CPUs that don't support TZCNT, fall back to BSF
i386_bsf_r32_rm32(cpustate);
// TODO: actually implement TZCNT
}
-INLINE INT8 SaturatedSignedWordToSignedByte(INT16 word)
+INLINE INT8 __FASTCALL SaturatedSignedWordToSignedByte(INT16 word)
{
if (word > 127)
return 127;
return (INT8)word;
}
-INLINE UINT8 SaturatedSignedWordToUnsignedByte(INT16 word)
+INLINE UINT8 __FASTCALL SaturatedSignedWordToUnsignedByte(INT16 word)
{
if (word > 255)
return 255;
return (UINT8)word;
}
-INLINE INT16 SaturatedSignedDwordToSignedWord(INT32 dword)
+INLINE INT16 __FASTCALL SaturatedSignedDwordToSignedWord(INT32 dword)
{
if (dword > 32767)
return 32767;
return (INT16)dword;
}
-INLINE UINT16 SaturatedSignedDwordToUnsignedWord(INT32 dword)
+INLINE UINT16 __FASTCALL SaturatedSignedDwordToUnsignedWord(INT32 dword)
{
if (dword > 65535)
return 65535;
return (UINT16)dword;
}
-static void MMXOP(group_0f71)(i386_state* cpustate) // Opcode 0f 71
+static void __FASTCALL MMXOP(group_0f71)(i386_state* cpustate) // Opcode 0f 71
{
UINT8 modm = FETCH(cpustate);
UINT8 imm8 = FETCH(cpustate);
}
}
-static void MMXOP(group_0f72)(i386_state* cpustate) // Opcode 0f 72
+static void __FASTCALL MMXOP(group_0f72)(i386_state* cpustate) // Opcode 0f 72
{
UINT8 modm = FETCH(cpustate);
UINT8 imm8 = FETCH(cpustate);
}
}
-static void MMXOP(group_0f73)(i386_state* cpustate) // Opcode 0f 73
+static void __FASTCALL MMXOP(group_0f73)(i386_state* cpustate) // Opcode 0f 73
{
UINT8 modm = FETCH(cpustate);
UINT8 imm8 = FETCH(cpustate);
}
}
-static void MMXOP(psrlw_r64_rm64)(i386_state* cpustate) // Opcode 0f d1
+static void __FASTCALL MMXOP(psrlw_r64_rm64)(i386_state* cpustate) // Opcode 0f d1
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psrld_r64_rm64)(i386_state* cpustate) // Opcode 0f d2
+static void __FASTCALL MMXOP(psrld_r64_rm64)(i386_state* cpustate) // Opcode 0f d2
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psrlq_r64_rm64)(i386_state* cpustate) // Opcode 0f d3
+static void __FASTCALL MMXOP(psrlq_r64_rm64)(i386_state* cpustate) // Opcode 0f d3
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddq_r64_rm64)(i386_state* cpustate) // Opcode 0f d4
+static void __FASTCALL MMXOP(paddq_r64_rm64)(i386_state* cpustate) // Opcode 0f d4
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pmullw_r64_rm64)(i386_state* cpustate) // Opcode 0f d5
+static void __FASTCALL MMXOP(pmullw_r64_rm64)(i386_state* cpustate) // Opcode 0f d5
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubusb_r64_rm64)(i386_state* cpustate) // Opcode 0f d8
+static void __FASTCALL MMXOP(psubusb_r64_rm64)(i386_state* cpustate) // Opcode 0f d8
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubusw_r64_rm64)(i386_state* cpustate) // Opcode 0f d9
+static void __FASTCALL MMXOP(psubusw_r64_rm64)(i386_state* cpustate) // Opcode 0f d9
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pand_r64_rm64)(i386_state* cpustate) // Opcode 0f db
+static void __FASTCALL MMXOP(pand_r64_rm64)(i386_state* cpustate) // Opcode 0f db
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddusb_r64_rm64)(i386_state* cpustate) // Opcode 0f dc
+static void __FASTCALL MMXOP(paddusb_r64_rm64)(i386_state* cpustate) // Opcode 0f dc
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddusw_r64_rm64)(i386_state* cpustate) // Opcode 0f dd
+static void __FASTCALL MMXOP(paddusw_r64_rm64)(i386_state* cpustate) // Opcode 0f dd
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pandn_r64_rm64)(i386_state* cpustate) // Opcode 0f df
+static void __FASTCALL MMXOP(pandn_r64_rm64)(i386_state* cpustate) // Opcode 0f df
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psraw_r64_rm64)(i386_state* cpustate) // Opcode 0f e1
+static void __FASTCALL MMXOP(psraw_r64_rm64)(i386_state* cpustate) // Opcode 0f e1
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psrad_r64_rm64)(i386_state* cpustate) // Opcode 0f e2
+static void __FASTCALL MMXOP(psrad_r64_rm64)(i386_state* cpustate) // Opcode 0f e2
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pmulhw_r64_rm64)(i386_state* cpustate) // Opcode 0f e5
+static void __FASTCALL MMXOP(pmulhw_r64_rm64)(i386_state* cpustate) // Opcode 0f e5
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubsb_r64_rm64)(i386_state* cpustate) // Opcode 0f e8
+static void __FASTCALL MMXOP(psubsb_r64_rm64)(i386_state* cpustate) // Opcode 0f e8
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubsw_r64_rm64)(i386_state* cpustate) // Opcode 0f e9
+static void __FASTCALL MMXOP(psubsw_r64_rm64)(i386_state* cpustate) // Opcode 0f e9
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(por_r64_rm64)(i386_state* cpustate) // Opcode 0f eb
+static void __FASTCALL MMXOP(por_r64_rm64)(i386_state* cpustate) // Opcode 0f eb
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddsb_r64_rm64)(i386_state* cpustate) // Opcode 0f ec
+static void __FASTCALL MMXOP(paddsb_r64_rm64)(i386_state* cpustate) // Opcode 0f ec
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ed
+static void __FASTCALL MMXOP(paddsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ed
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pxor_r64_rm64)(i386_state* cpustate) // Opcode 0f ef
+static void __FASTCALL MMXOP(pxor_r64_rm64)(i386_state* cpustate) // Opcode 0f ef
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psllw_r64_rm64)(i386_state* cpustate) // Opcode 0f f1
+static void __FASTCALL MMXOP(psllw_r64_rm64)(i386_state* cpustate) // Opcode 0f f1
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pslld_r64_rm64)(i386_state* cpustate) // Opcode 0f f2
+static void __FASTCALL MMXOP(pslld_r64_rm64)(i386_state* cpustate) // Opcode 0f f2
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psllq_r64_rm64)(i386_state* cpustate) // Opcode 0f f3
+static void __FASTCALL MMXOP(psllq_r64_rm64)(i386_state* cpustate) // Opcode 0f f3
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pmaddwd_r64_rm64)(i386_state* cpustate) // Opcode 0f f5
+static void __FASTCALL MMXOP(pmaddwd_r64_rm64)(i386_state* cpustate) // Opcode 0f f5
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubb_r64_rm64)(i386_state* cpustate) // Opcode 0f f8
+static void __FASTCALL MMXOP(psubb_r64_rm64)(i386_state* cpustate) // Opcode 0f f8
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubw_r64_rm64)(i386_state* cpustate) // Opcode 0f f9
+static void __FASTCALL MMXOP(psubw_r64_rm64)(i386_state* cpustate) // Opcode 0f f9
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(psubd_r64_rm64)(i386_state* cpustate) // Opcode 0f fa
+static void __FASTCALL MMXOP(psubd_r64_rm64)(i386_state* cpustate) // Opcode 0f fa
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddb_r64_rm64)(i386_state* cpustate) // Opcode 0f fc
+static void __FASTCALL MMXOP(paddb_r64_rm64)(i386_state* cpustate) // Opcode 0f fc
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddw_r64_rm64)(i386_state* cpustate) // Opcode 0f fd
+static void __FASTCALL MMXOP(paddw_r64_rm64)(i386_state* cpustate) // Opcode 0f fd
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(paddd_r64_rm64)(i386_state* cpustate) // Opcode 0f fe
+static void __FASTCALL MMXOP(paddd_r64_rm64)(i386_state* cpustate) // Opcode 0f fe
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(emms)(i386_state* cpustate) // Opcode 0f 77
+static void __FASTCALL MMXOP(emms)(i386_state* cpustate) // Opcode 0f 77
{
cpustate->x87_tw = 0xffff; // tag word = 0xffff
// TODO
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(movd_r64_rm32)(i386_state* cpustate) // Opcode 0f 6e
+static void __FASTCALL MMXOP(movd_r64_rm32)(i386_state* cpustate) // Opcode 0f 6e
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(movq_r64_rm64)(i386_state* cpustate) // Opcode 0f 6f
+static void __FASTCALL MMXOP(movq_r64_rm64)(i386_state* cpustate) // Opcode 0f 6f
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(movd_rm32_r64)(i386_state* cpustate) // Opcode 0f 7e
+static void __FASTCALL MMXOP(movd_rm32_r64)(i386_state* cpustate) // Opcode 0f 7e
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(movq_rm64_r64)(i386_state* cpustate) // Opcode 0f 7f
+static void __FASTCALL MMXOP(movq_rm64_r64)(i386_state* cpustate) // Opcode 0f 7f
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpeqb_r64_rm64)(i386_state* cpustate) // Opcode 0f 74
+static void __FASTCALL MMXOP(pcmpeqb_r64_rm64)(i386_state* cpustate) // Opcode 0f 74
{
int c;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpeqw_r64_rm64)(i386_state* cpustate) // Opcode 0f 75
+static void __FASTCALL MMXOP(pcmpeqw_r64_rm64)(i386_state* cpustate) // Opcode 0f 75
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpeqd_r64_rm64)(i386_state* cpustate) // Opcode 0f 76
+static void __FASTCALL MMXOP(pcmpeqd_r64_rm64)(i386_state* cpustate) // Opcode 0f 76
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pshufw_r64_rm64_i8)(i386_state* cpustate) // Opcode 0f 70
+static void __FASTCALL MMXOP(pshufw_r64_rm64_i8)(i386_state* cpustate) // Opcode 0f 70
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpcklbw_r64_r64m32)(i386_state* cpustate) // Opcode 0f 60
+static void __FASTCALL MMXOP(punpcklbw_r64_r64m32)(i386_state* cpustate) // Opcode 0f 60
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpcklwd_r64_r64m32)(i386_state* cpustate) // Opcode 0f 61
+static void __FASTCALL MMXOP(punpcklwd_r64_r64m32)(i386_state* cpustate) // Opcode 0f 61
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpckldq_r64_r64m32)(i386_state* cpustate) // Opcode 0f 62
+static void __FASTCALL MMXOP(punpckldq_r64_r64m32)(i386_state* cpustate) // Opcode 0f 62
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(packsswb_r64_rm64)(i386_state* cpustate) // Opcode 0f 63
+static void __FASTCALL MMXOP(packsswb_r64_rm64)(i386_state* cpustate) // Opcode 0f 63
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpgtb_r64_rm64)(i386_state* cpustate) // Opcode 0f 64
+static void __FASTCALL MMXOP(pcmpgtb_r64_rm64)(i386_state* cpustate) // Opcode 0f 64
{
int c;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpgtw_r64_rm64)(i386_state* cpustate) // Opcode 0f 65
+static void __FASTCALL MMXOP(pcmpgtw_r64_rm64)(i386_state* cpustate) // Opcode 0f 65
{
int c;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(pcmpgtd_r64_rm64)(i386_state* cpustate) // Opcode 0f 66
+static void __FASTCALL MMXOP(pcmpgtd_r64_rm64)(i386_state* cpustate) // Opcode 0f 66
{
int c;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(packuswb_r64_rm64)(i386_state* cpustate) // Opcode 0f 67
+static void __FASTCALL MMXOP(packuswb_r64_rm64)(i386_state* cpustate) // Opcode 0f 67
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpckhbw_r64_rm64)(i386_state* cpustate) // Opcode 0f 68
+static void __FASTCALL MMXOP(punpckhbw_r64_rm64)(i386_state* cpustate) // Opcode 0f 68
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpckhwd_r64_rm64)(i386_state* cpustate) // Opcode 0f 69
+static void __FASTCALL MMXOP(punpckhwd_r64_rm64)(i386_state* cpustate) // Opcode 0f 69
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(punpckhdq_r64_rm64)(i386_state* cpustate) // Opcode 0f 6a
+static void __FASTCALL MMXOP(punpckhdq_r64_rm64)(i386_state* cpustate) // Opcode 0f 6a
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void MMXOP(packssdw_r64_rm64)(i386_state* cpustate) // Opcode 0f 6b
+static void __FASTCALL MMXOP(packssdw_r64_rm64)(i386_state* cpustate) // Opcode 0f 6b
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(group_0fae)(i386_state* cpustate) // Opcode 0f ae
+static void __FASTCALL SSEOP(group_0fae)(i386_state* cpustate) // Opcode 0f ae
{
UINT8 modm = FETCH(cpustate);
if( modm == 0xf8 ) {
}
}
-static void SSEOP(cvttps2dq_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 5b
+static void __FASTCALL SSEOP(cvttps2dq_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 5b
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtss2sd_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5a
+static void __FASTCALL SSEOP(cvtss2sd_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvttss2si_r32_r128m32)(i386_state* cpustate) // Opcode f3 0f 2c
+static void __FASTCALL SSEOP(cvttss2si_r32_r128m32)(i386_state* cpustate) // Opcode f3 0f 2c
{
INT32 src;
UINT8 modrm = FETCH(cpustate); // get mordm byte
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtss2si_r32_r128m32)(i386_state* cpustate) // Opcode f3 0f 2d
+static void __FASTCALL SSEOP(cvtss2si_r32_r128m32)(i386_state* cpustate) // Opcode f3 0f 2d
{
INT32 src;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtsi2ss_r128_rm32)(i386_state* cpustate) // Opcode f3 0f 2a
+static void __FASTCALL SSEOP(cvtsi2ss_r128_rm32)(i386_state* cpustate) // Opcode f3 0f 2a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtpi2ps_r128_rm64)(i386_state* cpustate) // Opcode 0f 2a
+static void __FASTCALL SSEOP(cvtpi2ps_r128_rm64)(i386_state* cpustate) // Opcode 0f 2a
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvttps2pi_r64_r128m64)(i386_state* cpustate) // Opcode 0f 2c
+static void __FASTCALL SSEOP(cvttps2pi_r64_r128m64)(i386_state* cpustate) // Opcode 0f 2c
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtps2pi_r64_r128m64)(i386_state* cpustate) // Opcode 0f 2d
+static void __FASTCALL SSEOP(cvtps2pi_r64_r128m64)(i386_state* cpustate) // Opcode 0f 2d
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtps2pd_r128_r128m64)(i386_state* cpustate) // Opcode 0f 5a
+static void __FASTCALL SSEOP(cvtps2pd_r128_r128m64)(i386_state* cpustate) // Opcode 0f 5a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtdq2ps_r128_rm128)(i386_state* cpustate) // Opcode 0f 5b
+static void __FASTCALL SSEOP(cvtdq2ps_r128_rm128)(i386_state* cpustate) // Opcode 0f 5b
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtdq2pd_r128_r128m64)(i386_state* cpustate) // Opcode f3 0f e6
+static void __FASTCALL SSEOP(cvtdq2pd_r128_r128m64)(i386_state* cpustate) // Opcode f3 0f e6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movss_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 10
+static void __FASTCALL SSEOP(movss_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 10
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movss_rm128_r128)(i386_state* cpustate) // Opcode f3 0f 11
+static void __FASTCALL SSEOP(movss_rm128_r128)(i386_state* cpustate) // Opcode f3 0f 11
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movsldup_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 12
+static void __FASTCALL SSEOP(movsldup_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 12
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movshdup_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 16
+static void __FASTCALL SSEOP(movshdup_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 16
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movaps_r128_rm128)(i386_state* cpustate) // Opcode 0f 28
+static void __FASTCALL SSEOP(movaps_r128_rm128)(i386_state* cpustate) // Opcode 0f 28
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movaps_rm128_r128)(i386_state* cpustate) // Opcode 0f 29
+static void __FASTCALL SSEOP(movaps_rm128_r128)(i386_state* cpustate) // Opcode 0f 29
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movups_r128_rm128)(i386_state* cpustate) // Opcode 0f 10
+static void __FASTCALL SSEOP(movups_r128_rm128)(i386_state* cpustate) // Opcode 0f 10
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movupd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 10
+static void __FASTCALL SSEOP(movupd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 10
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movups_rm128_r128)(i386_state* cpustate) // Opcode 0f 11
+static void __FASTCALL SSEOP(movups_rm128_r128)(i386_state* cpustate) // Opcode 0f 11
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movupd_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 11
+static void __FASTCALL SSEOP(movupd_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 11
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movlps_r128_m64)(i386_state* cpustate) // Opcode 0f 12
+static void __FASTCALL SSEOP(movlps_r128_m64)(i386_state* cpustate) // Opcode 0f 12
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movlpd_r128_m64)(i386_state* cpustate) // Opcode 66 0f 12
+static void __FASTCALL SSEOP(movlpd_r128_m64)(i386_state* cpustate) // Opcode 66 0f 12
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movlps_m64_r128)(i386_state* cpustate) // Opcode 0f 13
+static void __FASTCALL SSEOP(movlps_m64_r128)(i386_state* cpustate) // Opcode 0f 13
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movlpd_m64_r128)(i386_state* cpustate) // Opcode 66 0f 13
+static void __FASTCALL SSEOP(movlpd_m64_r128)(i386_state* cpustate) // Opcode 66 0f 13
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movhps_r128_m64)(i386_state* cpustate) // Opcode 0f 16
+static void __FASTCALL SSEOP(movhps_r128_m64)(i386_state* cpustate) // Opcode 0f 16
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movhpd_r128_m64)(i386_state* cpustate) // Opcode 66 0f 16
+static void __FASTCALL SSEOP(movhpd_r128_m64)(i386_state* cpustate) // Opcode 66 0f 16
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movhps_m64_r128)(i386_state* cpustate) // Opcode 0f 17
+static void __FASTCALL SSEOP(movhps_m64_r128)(i386_state* cpustate) // Opcode 0f 17
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movhpd_m64_r128)(i386_state* cpustate) // Opcode 66 0f 17
+static void __FASTCALL SSEOP(movhpd_m64_r128)(i386_state* cpustate) // Opcode 66 0f 17
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movntps_m128_r128)(i386_state* cpustate) // Opcode 0f 2b
+static void __FASTCALL SSEOP(movntps_m128_r128)(i386_state* cpustate) // Opcode 0f 2b
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movmskps_r16_r128)(i386_state* cpustate) // Opcode 0f 50
+static void __FASTCALL SSEOP(movmskps_r16_r128)(i386_state* cpustate) // Opcode 0f 50
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movmskps_r32_r128)(i386_state* cpustate) // Opcode 0f 50
+static void __FASTCALL SSEOP(movmskps_r32_r128)(i386_state* cpustate) // Opcode 0f 50
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movmskpd_r32_r128)(i386_state* cpustate) // Opcode 66 0f 50
+static void __FASTCALL SSEOP(movmskpd_r32_r128)(i386_state* cpustate) // Opcode 66 0f 50
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movq2dq_r128_r64)(i386_state* cpustate) // Opcode f3 0f d6
+static void __FASTCALL SSEOP(movq2dq_r128_r64)(i386_state* cpustate) // Opcode f3 0f d6
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movdqu_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 6f
+static void __FASTCALL SSEOP(movdqu_r128_rm128)(i386_state* cpustate) // Opcode f3 0f 6f
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movdqu_rm128_r128)(i386_state* cpustate) // Opcode f3 0f 7f
+static void __FASTCALL SSEOP(movdqu_rm128_r128)(i386_state* cpustate) // Opcode f3 0f 7f
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movd_m128_rm32)(i386_state* cpustate) // Opcode 66 0f 6e
+static void __FASTCALL SSEOP(movd_m128_rm32)(i386_state* cpustate) // Opcode 66 0f 6e
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movdqa_m128_rm128)(i386_state* cpustate) // Opcode 66 0f 6f
+static void __FASTCALL SSEOP(movdqa_m128_rm128)(i386_state* cpustate) // Opcode 66 0f 6f
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movq_r128_r128m64)(i386_state* cpustate) // Opcode f3 0f 7e
+static void __FASTCALL SSEOP(movq_r128_r128m64)(i386_state* cpustate) // Opcode f3 0f 7e
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movd_rm32_r128)(i386_state* cpustate) // Opcode 66 0f 7e
+static void __FASTCALL SSEOP(movd_rm32_r128)(i386_state* cpustate) // Opcode 66 0f 7e
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movdqa_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 7f
+static void __FASTCALL SSEOP(movdqa_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 7f
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmovmskb_r16_r64)(i386_state* cpustate) // Opcode 0f d7
+static void __FASTCALL SSEOP(pmovmskb_r16_r64)(i386_state* cpustate) // Opcode 0f d7
{
//MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmovmskb_r32_r64)(i386_state* cpustate) // Opcode 0f d7
+static void __FASTCALL SSEOP(pmovmskb_r32_r64)(i386_state* cpustate) // Opcode 0f d7
{
//MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmovmskb_r32_r128)(i386_state* cpustate) // Opcode 66 0f d7
+static void __FASTCALL SSEOP(pmovmskb_r32_r128)(i386_state* cpustate) // Opcode 66 0f d7
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(xorps)(i386_state* cpustate) // Opcode 0f 57
+static void __FASTCALL SSEOP(xorps)(i386_state* cpustate) // Opcode 0f 57
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(xorpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 57
+static void __FASTCALL SSEOP(xorpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 57
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addps)(i386_state* cpustate) // Opcode 0f 58
+static void __FASTCALL SSEOP(addps)(i386_state* cpustate) // Opcode 0f 58
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(sqrtps_r128_rm128)(i386_state* cpustate) // Opcode 0f 51
+static void __FASTCALL SSEOP(sqrtps_r128_rm128)(i386_state* cpustate) // Opcode 0f 51
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(rsqrtps_r128_rm128)(i386_state* cpustate) // Opcode 0f 52
+static void __FASTCALL SSEOP(rsqrtps_r128_rm128)(i386_state* cpustate) // Opcode 0f 52
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(rcpps_r128_rm128)(i386_state* cpustate) // Opcode 0f 53
+static void __FASTCALL SSEOP(rcpps_r128_rm128)(i386_state* cpustate) // Opcode 0f 53
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(andps_r128_rm128)(i386_state* cpustate) // Opcode 0f 54
+static void __FASTCALL SSEOP(andps_r128_rm128)(i386_state* cpustate) // Opcode 0f 54
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(andpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 54
+static void __FASTCALL SSEOP(andpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 54
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(andnps_r128_rm128)(i386_state* cpustate) // Opcode 0f 55
+static void __FASTCALL SSEOP(andnps_r128_rm128)(i386_state* cpustate) // Opcode 0f 55
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(andnpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 55
+static void __FASTCALL SSEOP(andnpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 55
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(orps_r128_rm128)(i386_state* cpustate) // Opcode 0f 56
+static void __FASTCALL SSEOP(orps_r128_rm128)(i386_state* cpustate) // Opcode 0f 56
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(orpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 56
+static void __FASTCALL SSEOP(orpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 56
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(mulps)(i386_state* cpustate) // Opcode 0f 59 ????
+static void __FASTCALL SSEOP(mulps)(i386_state* cpustate) // Opcode 0f 59 ????
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(subps)(i386_state* cpustate) // Opcode 0f 5c
+static void __FASTCALL SSEOP(subps)(i386_state* cpustate) // Opcode 0f 5c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
return src2;
}
-static void SSEOP(minps)(i386_state* cpustate) // Opcode 0f 5d
+static void __FASTCALL SSEOP(minps)(i386_state* cpustate) // Opcode 0f 5d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(divps)(i386_state* cpustate) // Opcode 0f 5e
+static void __FASTCALL SSEOP(divps)(i386_state* cpustate) // Opcode 0f 5e
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
return src2;
}
-static void SSEOP(maxps)(i386_state* cpustate) // Opcode 0f 5f
+static void __FASTCALL SSEOP(maxps)(i386_state* cpustate) // Opcode 0f 5f
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(maxss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5f
+static void __FASTCALL SSEOP(maxss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5f
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addss)(i386_state* cpustate) // Opcode f3 0f 58
+static void __FASTCALL SSEOP(addss)(i386_state* cpustate) // Opcode f3 0f 58
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(subss)(i386_state* cpustate) // Opcode f3 0f 5c
+static void __FASTCALL SSEOP(subss)(i386_state* cpustate) // Opcode f3 0f 5c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(mulss)(i386_state* cpustate) // Opcode f3 0f 5e
+static void __FASTCALL SSEOP(mulss)(i386_state* cpustate) // Opcode f3 0f 5e
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(divss)(i386_state* cpustate) // Opcode 0f 59
+static void __FASTCALL SSEOP(divss)(i386_state* cpustate) // Opcode 0f 59
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(rcpss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 53
+static void __FASTCALL SSEOP(rcpss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 53
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(sqrtss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 51
+static void __FASTCALL SSEOP(sqrtss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 51
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(rsqrtss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 52
+static void __FASTCALL SSEOP(rsqrtss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 52
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(minss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5d
+static void __FASTCALL SSEOP(minss_r128_r128m32)(i386_state* cpustate) // Opcode f3 0f 5d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(comiss_r128_r128m32)(i386_state* cpustate) // Opcode 0f 2f
+static void __FASTCALL SSEOP(comiss_r128_r128m32)(i386_state* cpustate) // Opcode 0f 2f
{
float32 a,b;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(comisd_r128_r128m64)(i386_state* cpustate) // Opcode 66 0f 2f
+static void __FASTCALL SSEOP(comisd_r128_r128m64)(i386_state* cpustate) // Opcode 66 0f 2f
{
float64 a,b;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(ucomiss_r128_r128m32)(i386_state* cpustate) // Opcode 0f 2e
+static void __FASTCALL SSEOP(ucomiss_r128_r128m32)(i386_state* cpustate) // Opcode 0f 2e
{
float32 a,b;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(ucomisd_r128_r128m64)(i386_state* cpustate) // Opcode 66 0f 2e
+static void __FASTCALL SSEOP(ucomisd_r128_r128m64)(i386_state* cpustate) // Opcode 66 0f 2e
{
float64 a,b;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(shufps)(i386_state* cpustate) // Opcode 0f c6
+static void __FASTCALL SSEOP(shufps)(i386_state* cpustate) // Opcode 0f c6
{
UINT8 modrm = FETCH(cpustate);
UINT8 sel = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(shufpd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f c6
+static void __FASTCALL SSEOP(shufpd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f c6
{
UINT8 modrm = FETCH(cpustate);
UINT8 sel = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(unpcklps_r128_rm128)(i386_state* cpustate) // Opcode 0f 14
+static void __FASTCALL SSEOP(unpcklps_r128_rm128)(i386_state* cpustate) // Opcode 0f 14
{
UINT8 modrm = FETCH(cpustate);
int s,d;
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(unpcklpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 14
+static void __FASTCALL SSEOP(unpcklpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 14
{
UINT8 modrm = FETCH(cpustate);
int s,d;
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(unpckhps_r128_rm128)(i386_state* cpustate) // Opcode 0f 15
+static void __FASTCALL SSEOP(unpckhps_r128_rm128)(i386_state* cpustate) // Opcode 0f 15
{
UINT8 modrm = FETCH(cpustate);
int s,d;
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(unpckhpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 15
+static void __FASTCALL SSEOP(unpckhpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 15
{
UINT8 modrm = FETCH(cpustate);
int s,d;
return !((op1 != op1) || (op1 != op2));
}
-static void SSEOP(predicate_compare_single)(UINT8 imm8, XMM_REG d, XMM_REG s)
+static void __FASTCALL SSEOP(predicate_compare_single)(UINT8 imm8, XMM_REG d, XMM_REG s)
{
switch (imm8 & 7)
{
}
}
-static void SSEOP(predicate_compare_double)(UINT8 imm8, XMM_REG d, XMM_REG s)
+static void __FASTCALL SSEOP(predicate_compare_double)(UINT8 imm8, XMM_REG d, XMM_REG s)
{
switch (imm8 & 7)
{
}
}
-static void SSEOP(predicate_compare_single_scalar)(UINT8 imm8, XMM_REG d, XMM_REG s)
+static void __FASTCALL SSEOP(predicate_compare_single_scalar)(UINT8 imm8, XMM_REG d, XMM_REG s)
{
switch (imm8 & 7)
{
}
}
-static void SSEOP(predicate_compare_double_scalar)(UINT8 imm8, XMM_REG d, XMM_REG s)
+static void __FASTCALL SSEOP(predicate_compare_double_scalar)(UINT8 imm8, XMM_REG d, XMM_REG s)
{
switch (imm8 & 7)
{
}
}
-static void SSEOP(cmpps_r128_rm128_i8)(i386_state* cpustate) // Opcode 0f c2
+static void __FASTCALL SSEOP(cmpps_r128_rm128_i8)(i386_state* cpustate) // Opcode 0f c2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cmppd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f c2
+static void __FASTCALL SSEOP(cmppd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f c2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cmpss_r128_r128m32_i8)(i386_state* cpustate) // Opcode f3 0f c2
+static void __FASTCALL SSEOP(cmpss_r128_r128m32_i8)(i386_state* cpustate) // Opcode f3 0f c2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pinsrw_r64_r16m16_i8)(i386_state* cpustate) // Opcode 0f c4, 16bit register
+static void __FASTCALL SSEOP(pinsrw_r64_r16m16_i8)(i386_state* cpustate) // Opcode 0f c4, 16bit register
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pinsrw_r64_r32m16_i8)(i386_state* cpustate) // Opcode 0f c4, 32bit register
+static void __FASTCALL SSEOP(pinsrw_r64_r32m16_i8)(i386_state* cpustate) // Opcode 0f c4, 32bit register
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pinsrw_r128_r32m16_i8)(i386_state* cpustate) // Opcode 66 0f c4
+static void __FASTCALL SSEOP(pinsrw_r128_r32m16_i8)(i386_state* cpustate) // Opcode 66 0f c4
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pextrw_r16_r64_i8)(i386_state* cpustate) // Opcode 0f c5
+static void __FASTCALL SSEOP(pextrw_r16_r64_i8)(i386_state* cpustate) // Opcode 0f c5
{
//MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pextrw_r32_r64_i8)(i386_state* cpustate) // Opcode 0f c5
+static void __FASTCALL SSEOP(pextrw_r32_r64_i8)(i386_state* cpustate) // Opcode 0f c5
{
//MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pextrw_reg_r128_i8)(i386_state* cpustate) // Opcode 66 0f c5
+static void __FASTCALL SSEOP(pextrw_reg_r128_i8)(i386_state* cpustate) // Opcode 66 0f c5
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pminub_r64_rm64)(i386_state* cpustate) // Opcode 0f da
+static void __FASTCALL SSEOP(pminub_r64_rm64)(i386_state* cpustate) // Opcode 0f da
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pminub_r128_rm128)(i386_state* cpustate) // Opcode 66 0f da
+static void __FASTCALL SSEOP(pminub_r128_rm128)(i386_state* cpustate) // Opcode 66 0f da
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmaxub_r64_rm64)(i386_state* cpustate) // Opcode 0f de
+static void __FASTCALL SSEOP(pmaxub_r64_rm64)(i386_state* cpustate) // Opcode 0f de
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pavgb_r64_rm64)(i386_state* cpustate) // Opcode 0f e0
+static void __FASTCALL SSEOP(pavgb_r64_rm64)(i386_state* cpustate) // Opcode 0f e0
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pavgw_r64_rm64)(i386_state* cpustate) // Opcode 0f e3
+static void __FASTCALL SSEOP(pavgw_r64_rm64)(i386_state* cpustate) // Opcode 0f e3
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmulhuw_r64_rm64)(i386_state* cpustate) // Opcode 0f e4
+static void __FASTCALL SSEOP(pmulhuw_r64_rm64)(i386_state* cpustate) // Opcode 0f e4
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pminsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ea
+static void __FASTCALL SSEOP(pminsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ea
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmaxsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ee
+static void __FASTCALL SSEOP(pmaxsw_r64_rm64)(i386_state* cpustate) // Opcode 0f ee
{
int n;
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmuludq_r64_rm64)(i386_state* cpustate) // Opcode 0f f4
+static void __FASTCALL SSEOP(pmuludq_r64_rm64)(i386_state* cpustate) // Opcode 0f f4
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmuludq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f4
+static void __FASTCALL SSEOP(pmuludq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f4
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psadbw_r64_rm64)(i386_state* cpustate) // Opcode 0f f6
+static void __FASTCALL SSEOP(psadbw_r64_rm64)(i386_state* cpustate) // Opcode 0f f6
{
int n;
INT32 temp;
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubq_r64_rm64)(i386_state* cpustate) // Opcode 0f fb
+static void __FASTCALL SSEOP(psubq_r64_rm64)(i386_state* cpustate) // Opcode 0f fb
{
MMXPROLOG(cpustate);
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fb
+static void __FASTCALL SSEOP(psubq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fb
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pshufd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f 70
+static void __FASTCALL SSEOP(pshufd_r128_rm128_i8)(i386_state* cpustate) // Opcode 66 0f 70
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pshuflw_r128_rm128_i8)(i386_state* cpustate) // Opcode f2 0f 70
+static void __FASTCALL SSEOP(pshuflw_r128_rm128_i8)(i386_state* cpustate) // Opcode f2 0f 70
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pshufhw_r128_rm128_i8)(i386_state* cpustate) // Opcode f3 0f 70
+static void __FASTCALL SSEOP(pshufhw_r128_rm128_i8)(i386_state* cpustate) // Opcode f3 0f 70
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(packsswb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 63
+static void __FASTCALL SSEOP(packsswb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 63
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(packssdw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6b
+static void __FASTCALL SSEOP(packssdw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6b
{
UINT8 modrm = FETCH(cpustate);
if (modrm >= 0xc0) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpgtb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 64
+static void __FASTCALL SSEOP(pcmpgtb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 64
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpgtw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 65
+static void __FASTCALL SSEOP(pcmpgtw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 65
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpgtd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 66
+static void __FASTCALL SSEOP(pcmpgtd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 66
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(packuswb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 67
+static void __FASTCALL SSEOP(packuswb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 67
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(punpckhbw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 68
+static void __FASTCALL SSEOP(punpckhbw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 68
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(punpckhwd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 69
+static void __FASTCALL SSEOP(punpckhwd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 69
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(unpckhdq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6a
+static void __FASTCALL SSEOP(unpckhdq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(punpckhqdq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6d
+static void __FASTCALL SSEOP(punpckhqdq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 6d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpeqb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 74
+static void __FASTCALL SSEOP(pcmpeqb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 74
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpeqw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 75
+static void __FASTCALL SSEOP(pcmpeqw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 75
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pcmpeqd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 76
+static void __FASTCALL SSEOP(pcmpeqd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 76
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d4
+static void __FASTCALL SSEOP(paddq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d4
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmullw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d5
+static void __FASTCALL SSEOP(pmullw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d5
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fc
+static void __FASTCALL SSEOP(paddb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fc
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fd
+static void __FASTCALL SSEOP(paddw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fd
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fe
+static void __FASTCALL SSEOP(paddd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fe
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubusb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d8
+static void __FASTCALL SSEOP(psubusb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d8
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubusw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d9
+static void __FASTCALL SSEOP(psubusw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d9
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pand_r128_rm128)(i386_state* cpustate) // Opcode 66 0f db
+static void __FASTCALL SSEOP(pand_r128_rm128)(i386_state* cpustate) // Opcode 66 0f db
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pandn_r128_rm128)(i386_state* cpustate) // Opcode 66 0f df
+static void __FASTCALL SSEOP(pandn_r128_rm128)(i386_state* cpustate) // Opcode 66 0f df
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddusb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f dc
+static void __FASTCALL SSEOP(paddusb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f dc
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddusw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f dd
+static void __FASTCALL SSEOP(paddusw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f dd
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmaxub_r128_rm128)(i386_state* cpustate) // Opcode 66 0f de
+static void __FASTCALL SSEOP(pmaxub_r128_rm128)(i386_state* cpustate) // Opcode 66 0f de
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmulhuw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e4
+static void __FASTCALL SSEOP(pmulhuw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e4
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmulhw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e5
+static void __FASTCALL SSEOP(pmulhw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e5
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubsb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e8
+static void __FASTCALL SSEOP(psubsb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e8
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e9
+static void __FASTCALL SSEOP(psubsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e9
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pminsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ea
+static void __FASTCALL SSEOP(pminsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ea
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmaxsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ee
+static void __FASTCALL SSEOP(pmaxsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ee
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddsb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ec
+static void __FASTCALL SSEOP(paddsb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ec
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(paddsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ed
+static void __FASTCALL SSEOP(paddsw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ed
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(por_r128_rm128)(i386_state* cpustate) // Opcode 66 0f eb
+static void __FASTCALL SSEOP(por_r128_rm128)(i386_state* cpustate) // Opcode 66 0f eb
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pxor_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ef
+static void __FASTCALL SSEOP(pxor_r128_rm128)(i386_state* cpustate) // Opcode 66 0f ef
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pmaddwd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f5
+static void __FASTCALL SSEOP(pmaddwd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f5
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f8
+static void __FASTCALL SSEOP(psubb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f8
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f9
+static void __FASTCALL SSEOP(psubw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f9
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psubd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fa
+static void __FASTCALL SSEOP(psubd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f fa
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psadbw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f6
+static void __FASTCALL SSEOP(psadbw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f6
{
INT32 temp;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pavgb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e0
+static void __FASTCALL SSEOP(pavgb_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pavgw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e3
+static void __FASTCALL SSEOP(pavgw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psrlw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d1
+static void __FASTCALL SSEOP(psrlw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psrld_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d2
+static void __FASTCALL SSEOP(psrld_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psrlq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d3
+static void __FASTCALL SSEOP(psrlq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psllw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f1
+static void __FASTCALL SSEOP(psllw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(pslld_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f2
+static void __FASTCALL SSEOP(pslld_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psllq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f3
+static void __FASTCALL SSEOP(psllq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f f3
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psraw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e1
+static void __FASTCALL SSEOP(psraw_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e1
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(psrad_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e2
+static void __FASTCALL SSEOP(psrad_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movntdq_m128_r128)(i386_state* cpustate) // Opcode 66 0f e7
+static void __FASTCALL SSEOP(movntdq_m128_r128)(i386_state* cpustate) // Opcode 66 0f e7
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(cvttpd2dq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e6
+static void __FASTCALL SSEOP(cvttpd2dq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f e6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movq_r128m64_r128)(i386_state* cpustate) // Opcode 66 0f d6
+static void __FASTCALL SSEOP(movq_r128m64_r128)(i386_state* cpustate) // Opcode 66 0f d6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addsubpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d0
+static void __FASTCALL SSEOP(addsubpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f d0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(haddpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 7c
+static void __FASTCALL SSEOP(haddpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 7c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(hsubpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 7d
+static void __FASTCALL SSEOP(hsubpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 7d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(sqrtpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 51
+static void __FASTCALL SSEOP(sqrtpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 51
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtpi2pd_r128_rm64)(i386_state* cpustate) // Opcode 66 0f 2a
+static void __FASTCALL SSEOP(cvtpi2pd_r128_rm64)(i386_state* cpustate) // Opcode 66 0f 2a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvttpd2pi_r64_rm128)(i386_state* cpustate) // Opcode 66 0f 2c
+static void __FASTCALL SSEOP(cvttpd2pi_r64_rm128)(i386_state* cpustate) // Opcode 66 0f 2c
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtpd2pi_r64_rm128)(i386_state* cpustate) // Opcode 66 0f 2d
+static void __FASTCALL SSEOP(cvtpd2pi_r64_rm128)(i386_state* cpustate) // Opcode 66 0f 2d
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtpd2ps_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5a
+static void __FASTCALL SSEOP(cvtpd2ps_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtps2dq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5b
+static void __FASTCALL SSEOP(cvtps2dq_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5b
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 58
+static void __FASTCALL SSEOP(addpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 58
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(mulpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 59
+static void __FASTCALL SSEOP(mulpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 59
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(subpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5c
+static void __FASTCALL SSEOP(subpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(minpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5d
+static void __FASTCALL SSEOP(minpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(divpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5e
+static void __FASTCALL SSEOP(divpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5e
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(maxpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5f
+static void __FASTCALL SSEOP(maxpd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 5f
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movntpd_m128_r128)(i386_state* cpustate) // Opcode 66 0f 2b
+static void __FASTCALL SSEOP(movntpd_m128_r128)(i386_state* cpustate) // Opcode 66 0f 2b
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
}
}
-static void SSEOP(movapd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 28
+static void __FASTCALL SSEOP(movapd_r128_rm128)(i386_state* cpustate) // Opcode 66 0f 28
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movapd_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 29
+static void __FASTCALL SSEOP(movapd_rm128_r128)(i386_state* cpustate) // Opcode 66 0f 29
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 10
+static void __FASTCALL SSEOP(movsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 10
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movsd_r128m64_r128)(i386_state* cpustate) // Opcode f2 0f 11
+static void __FASTCALL SSEOP(movsd_r128m64_r128)(i386_state* cpustate) // Opcode f2 0f 11
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movddup_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 12
+static void __FASTCALL SSEOP(movddup_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 12
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtsi2sd_r128_rm32)(i386_state* cpustate) // Opcode f2 0f 2a
+static void __FASTCALL SSEOP(cvtsi2sd_r128_rm32)(i386_state* cpustate) // Opcode f2 0f 2a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvttsd2si_r32_r128m64)(i386_state* cpustate) // Opcode f2 0f 2c
+static void __FASTCALL SSEOP(cvttsd2si_r32_r128m64)(i386_state* cpustate) // Opcode f2 0f 2c
{
INT32 src;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtsd2si_r32_r128m64)(i386_state* cpustate) // Opcode f2 0f 2d
+static void __FASTCALL SSEOP(cvtsd2si_r32_r128m64)(i386_state* cpustate) // Opcode f2 0f 2d
{
INT32 src;
UINT8 modrm = FETCH(cpustate);
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(sqrtsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 51
+static void __FASTCALL SSEOP(sqrtsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 51
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 58
+static void __FASTCALL SSEOP(addsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 58
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(mulsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 59
+static void __FASTCALL SSEOP(mulsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 59
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cvtsd2ss_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5a
+static void __FASTCALL SSEOP(cvtsd2ss_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5a
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(subsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5c
+static void __FASTCALL SSEOP(subsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(minsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5d
+static void __FASTCALL SSEOP(minsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(divsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5e
+static void __FASTCALL SSEOP(divsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5e
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(maxsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5f
+static void __FASTCALL SSEOP(maxsd_r128_r128m64)(i386_state* cpustate) // Opcode f2 0f 5f
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(haddps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f 7c
+static void __FASTCALL SSEOP(haddps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f 7c
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(hsubps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f 7d
+static void __FASTCALL SSEOP(hsubps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f 7d
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(cmpsd_r128_r128m64_i8)(i386_state* cpustate) // Opcode f2 0f c2
+static void __FASTCALL SSEOP(cmpsd_r128_r128m64_i8)(i386_state* cpustate) // Opcode f2 0f c2
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(addsubps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f d0
+static void __FASTCALL SSEOP(addsubps_r128_rm128)(i386_state* cpustate) // Opcode f2 0f d0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(movdq2q_r64_r128)(i386_state* cpustate) // Opcode f2 0f d6
+static void __FASTCALL SSEOP(movdq2q_r64_r128)(i386_state* cpustate) // Opcode f2 0f d6
{
UINT8 modrm = FETCH(cpustate);
MMXPROLOG(cpustate);
}
}
-static void SSEOP(cvtpd2dq_r128_rm128)(i386_state* cpustate) // Opcode f2 0f e6
+static void __FASTCALL SSEOP(cvtpd2dq_r128_rm128)(i386_state* cpustate) // Opcode f2 0f e6
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
CYCLES(cpustate,1); // TODO: correct cycle count
}
-static void SSEOP(lddqu_r128_m128)(i386_state* cpustate) // Opcode f2 0f f0
+static void __FASTCALL SSEOP(lddqu_r128_m128)(i386_state* cpustate) // Opcode f2 0f f0
{
UINT8 modrm = FETCH(cpustate);
if( modrm >= 0xc0 ) {
*
*************************************/
-INLINE void x87_set_stack_top(i386_state *cpustate, int top)
+INLINE void __FASTCALL x87_set_stack_top(i386_state *cpustate, int top)
{
cpustate->x87_sw &= ~(X87_SW_TOP_MASK << X87_SW_TOP_SHIFT);
cpustate->x87_sw |= (top << X87_SW_TOP_SHIFT);
}
-INLINE void x87_set_tag(i386_state *cpustate, int reg, int tag)
+INLINE void __FASTCALL x87_set_tag(i386_state *cpustate, int reg, int tag)
{
int shift = X87_TW_FIELD_SHIFT(reg);
cpustate->x87_tw |= (tag << shift);
}
-void x87_write_stack(i386_state *cpustate, int i, floatx80 value, int update_tag)
+void __FASTCALL x87_write_stack(i386_state *cpustate, int i, floatx80 value, int update_tag)
{
ST(i) = value;
}
}
-INLINE void x87_set_stack_underflow(i386_state *cpustate)
+INLINE void __FASTCALL x87_set_stack_underflow(i386_state *cpustate)
{
cpustate->x87_sw &= ~X87_SW_C1;
cpustate->x87_sw |= X87_SW_IE | X87_SW_SF;
}
-INLINE void x87_set_stack_overflow(i386_state *cpustate)
+INLINE void __FASTCALL x87_set_stack_overflow(i386_state *cpustate)
{
cpustate->x87_sw |= X87_SW_C1 | X87_SW_IE | X87_SW_SF;
}
return 1;
}
-INLINE void x87_write_cw(i386_state *cpustate, UINT16 cw)
+INLINE void __FASTCALL x87_write_cw(i386_state *cpustate, UINT16 cw)
{
cpustate->x87_cw = cw;
float_rounding_mode = x87_to_sf_rc[(cpustate->x87_cw >> X87_CW_RC_SHIFT) & X87_CW_RC_MASK];
}
-void x87_reset(i386_state *cpustate)
+void __FASTCALL x87_reset(i386_state *cpustate)
{
x87_write_cw(cpustate, 0x0037f);
*
*************************************/
-void x87_fadd_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fadd_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fadd_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fadd_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fadd_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fadd_st_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fadd_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fadd_sti_st(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_faddp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_faddp(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fiadd_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fiadd_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 19);
}
-void x87_fiadd_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fiadd_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fsub_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsub_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fsub_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsub_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fsub_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsub_st_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fsub_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsub_sti_st(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fsubp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubp(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fisub_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fisub_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 19);
}
-void x87_fisub_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fisub_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fsubr_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubr_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fsubr_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubr_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 8);
}
-void x87_fsubr_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubr_st_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fsubr_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubr_sti_st(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fsubrp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsubrp(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 8);
}
-void x87_fisubr_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fisubr_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 19);
}
-void x87_fisubr_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fisubr_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fdiv_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdiv_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdiv_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdiv_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdiv_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdiv_st_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdiv_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdiv_sti_st(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdivp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivp(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fidiv_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fidiv_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fidiv_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fidiv_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fdivr_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivr_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdivr_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivr_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdivr_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivr_st_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdivr_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivr_sti_st(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fdivrp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdivrp(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 result;
}
-void x87_fidivr_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fidivr_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 73);
}
-void x87_fidivr_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fidivr_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fmul_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fmul_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 11);
}
-void x87_fmul_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fmul_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 14);
}
-void x87_fmul_st_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fmul_st_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 16);
}
-void x87_fmul_sti_st(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fmul_sti_st(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 16);
}
-void x87_fmulp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fmulp(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 16);
}
-void x87_fimul_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fimul_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 22);
}
-void x87_fimul_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fimul_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fcmovb_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovb_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmove_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmove_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovbe_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovbe_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovu_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovu_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovnb_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovnb_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovne_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovne_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovnbe_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovnbe_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcmovnu_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcmovnu_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
int i = modrm & 7;
*
*************************************/
/* D9 F8 */
-void x87_fprem(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fprem(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 84);
}
-void x87_fprem1(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fprem1(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 94);
}
-void x87_fsqrt(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsqrt(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_f2xm1(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_f2xm1(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 242);
}
-void x87_fyl2x(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fyl2x(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 250);
}
-void x87_fyl2xp1(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fyl2xp1(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 313);
}
/* D9 F2 if 8087 0 < angle < pi/4 */
-void x87_fptan(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fptan(i386_state *cpustate, UINT8 modrm)
{
floatx80 result1, result2;
CYCLES(cpustate, 244);
}
/* D9 F3 */
-void x87_fpatan(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fpatan(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 289);
}
/* D9 FE 387 only */
-void x87_fsin(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsin(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 241);
}
/* D9 FF 387 only */
-void x87_fcos(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcos(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
CYCLES(cpustate, 241);
}
/* D9 FB 387 only */
-void x87_fsincos(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsincos(i386_state *cpustate, UINT8 modrm)
{
floatx80 s_result, c_result;
*
*************************************/
-void x87_fld_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fld_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 3);
}
-void x87_fld_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fld_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 3);
}
-void x87_fld_m80real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fld_m80real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 6);
}
-void x87_fld_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fld_sti(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 4);
}
-void x87_fild_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fild_m16int(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 13);
}
-void x87_fild_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fild_m32int(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 9);
}
-void x87_fild_m64int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fild_m64int(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 10);
}
-void x87_fbld(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fbld(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
*
*************************************/
-void x87_fst_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fst_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 7);
}
-void x87_fst_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fst_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 8);
}
-void x87_fst_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fst_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 value;
CYCLES(cpustate, 3);
}
-void x87_fstp_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstp_m32real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 7);
}
-void x87_fstp_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstp_m64real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 8);
}
-void x87_fstp_m80real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstp_m80real(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 6);
}
-void x87_fstp_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstp_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
floatx80 value;
CYCLES(cpustate, 3);
}
-void x87_fist_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fist_m16int(i386_state *cpustate, UINT8 modrm)
{
INT16 m16int;
CYCLES(cpustate, 29);
}
-void x87_fist_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fist_m32int(i386_state *cpustate, UINT8 modrm)
{
INT32 m32int;
CYCLES(cpustate, 28);
}
-void x87_fistp_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fistp_m16int(i386_state *cpustate, UINT8 modrm)
{
INT16 m16int;
CYCLES(cpustate, 29);
}
-void x87_fistp_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fistp_m32int(i386_state *cpustate, UINT8 modrm)
{
INT32 m32int;
CYCLES(cpustate, 29);
}
-void x87_fistp_m64int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fistp_m64int(i386_state *cpustate, UINT8 modrm)
{
INT64 m64int;
CYCLES(cpustate, 29);
}
-void x87_fbstp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fbstp(i386_state *cpustate, UINT8 modrm)
{
floatx80 result;
*
*************************************/
-void x87_fld1(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fld1(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 4);
}
-void x87_fldl2t(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldl2t(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 8);
}
-void x87_fldl2e(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldl2e(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 8);
}
-void x87_fldpi(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldpi(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 8);
}
-void x87_fldlg2(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldlg2(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 8);
}
-void x87_fldln2(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldln2(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
CYCLES(cpustate, 8);
}
-void x87_fldz(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldz(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
int tag;
*
*************************************/
-void x87_fnop(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fnop(i386_state *cpustate, UINT8 modrm)
{
CYCLES(cpustate, 3);
}
-void x87_fchs(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fchs(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 6);
}
-void x87_fabs(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fabs(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 6);
}
-void x87_fscale(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fscale(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 31);
}
-void x87_frndint(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_frndint(i386_state *cpustate, UINT8 modrm)
{
floatx80 value;
CYCLES(cpustate, 21);
}
-void x87_fxtract(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fxtract(i386_state *cpustate, UINT8 modrm)
{
floatx80 sig80, exp80;
*
*************************************/
-void x87_ftst(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ftst(i386_state *cpustate, UINT8 modrm)
{
if (X87_IS_ST_EMPTY(0))
{
CYCLES(cpustate, 4);
}
-void x87_fxam(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fxam(i386_state *cpustate, UINT8 modrm)
{
floatx80 value = ST(0);
CYCLES(cpustate, 8);
}
-void x87_ficom_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ficom_m16int(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 2);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 16);
}
-void x87_ficom_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ficom_m32int(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 4);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 15);
}
-void x87_ficomp_m16int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ficomp_m16int(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 2);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 16);
}
-void x87_ficomp_m32int(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ficomp_m32int(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 4);
if (X87_IS_ST_EMPTY(0))
}
-void x87_fcom_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcom_m32real(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 4);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 4);
}
-void x87_fcom_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcom_m64real(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 8);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 4);
}
-void x87_fcom_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcom_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcomp_m32real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcomp_m32real(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 4);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 4);
}
-void x87_fcomp_m64real(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcomp_m64real(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 8);
if (X87_IS_ST_EMPTY(0))
CYCLES(cpustate, 4);
}
-void x87_fcomp_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcomp_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fcomi_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcomi_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4); // TODO: correct cycle count
}
-void x87_fcomip_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcomip_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4); // TODO: correct cycle count
}
-void x87_fucomi_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fucomi_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4); // TODO: correct cycle count
}
-void x87_fucomip_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fucomip_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4); // TODO: correct cycle count
}
-void x87_fcompp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fcompp(i386_state *cpustate, UINT8 modrm)
{
if (X87_IS_ST_EMPTY(0) || X87_IS_ST_EMPTY(1))
{
*
*************************************/
-void x87_fucom_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fucom_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fucomp_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fucomp_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fucompp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fucompp(i386_state *cpustate, UINT8 modrm)
{
if (X87_IS_ST_EMPTY(0) || X87_IS_ST_EMPTY(1))
{
*
*************************************/
-void x87_fdecstp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdecstp(i386_state *cpustate, UINT8 modrm)
{
cpustate->x87_sw &= ~X87_SW_C1;
CYCLES(cpustate, 3);
}
-void x87_fincstp(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fincstp(i386_state *cpustate, UINT8 modrm)
{
cpustate->x87_sw &= ~X87_SW_C1;
CYCLES(cpustate, 3);
}
-void x87_fclex(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fclex(i386_state *cpustate, UINT8 modrm)
{
cpustate->x87_sw &= ~0x80ff;
// ferr_handler(cpustate, 0);
CYCLES(cpustate, 7);
}
-void x87_feni(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_feni(i386_state *cpustate, UINT8 modrm)
{
cpustate->x87_cw &= ~X87_CW_IEM;
x87_check_exceptions(cpustate);
CYCLES(cpustate, 5);
}
-void x87_fdisi(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fdisi(i386_state *cpustate, UINT8 modrm)
{
cpustate->x87_cw |= X87_CW_IEM;
CYCLES(cpustate, 5);
}
-void x87_ffree(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_ffree(i386_state *cpustate, UINT8 modrm)
{
x87_set_tag(cpustate, ST_TO_PHYS(modrm & 7), X87_TW_EMPTY);
CYCLES(cpustate, 3);
}
-void x87_finit(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_finit(i386_state *cpustate, UINT8 modrm)
{
x87_reset(cpustate);
CYCLES(cpustate, 17);
}
-void x87_fldcw(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldcw(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 2);
UINT16 cw = READ16(cpustate, ea);
CYCLES(cpustate, 4);
}
-void x87_fstcw(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstcw(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 1, 2);
WRITE16(cpustate, ea, cpustate->x87_cw);
CYCLES(cpustate, 3);
}
-void x87_fldenv(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fldenv(i386_state *cpustate, UINT8 modrm)
{
// TODO: Pointers and selectors
if (cpustate->operand_size)
CYCLES(cpustate,(cpustate->cr[0] & 1) ? 34 : 44);
}
-void x87_fstenv(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstenv(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea;
CYCLES(cpustate,(cpustate->cr[0] & 1) ? 56 : 67);
}
-void x87_fsave(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fsave(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 1, 80);
CYCLES(cpustate,(cpustate->cr[0] & 1) ? 56 : 67);
}
-void x87_frstor(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_frstor(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 0, 80);
CYCLES(cpustate,(cpustate->cr[0] & 1) ? 34 : 44);
}
-void x87_fxch(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fxch(i386_state *cpustate, UINT8 modrm)
{
if (X87_IS_ST_EMPTY(0) || X87_IS_ST_EMPTY(1))
x87_set_stack_underflow(cpustate);
CYCLES(cpustate, 4);
}
-void x87_fxch_sti(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fxch_sti(i386_state *cpustate, UINT8 modrm)
{
int i = modrm & 7;
CYCLES(cpustate, 4);
}
-void x87_fstsw_ax(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstsw_ax(i386_state *cpustate, UINT8 modrm)
{
REG16(AX) = cpustate->x87_sw;
CYCLES(cpustate, 3);
}
-void x87_fstsw_m2byte(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_fstsw_m2byte(i386_state *cpustate, UINT8 modrm)
{
UINT32 ea = GetEA(cpustate, modrm, 1, 2);
CYCLES(cpustate, 3);
}
-void x87_invalid(i386_state *cpustate, UINT8 modrm)
+void __FASTCALL x87_invalid(i386_state *cpustate, UINT8 modrm)
{
// TODO
report_invalid_opcode(cpustate);
*
*************************************/
-static void I386OP(x87_group_d8)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_d8)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_d8[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_d9)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_d9)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_d9[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_da)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_da)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_da[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_db)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_db)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_db[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_dc)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_dc)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_dc[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_dd)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_dd)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_dd[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_de)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_de)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_de[modrm](cpustate, modrm);
}
-static void I386OP(x87_group_df)(i386_state *cpustate)
+static void __FASTCALL I386OP(x87_group_df)(i386_state *cpustate)
{
UINT8 modrm = FETCH(cpustate);
cpustate->opcode_table_x87_df[modrm](cpustate, modrm);
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{
for (modrm = 0; modrm < 0x100; ++modrm)
{
- void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
+ void (__FASTCALL *ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
if (modrm < 0xc0)
{