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