Exemplo n.º 1
0
opcode_entry    Bin87[] = {
/***************************/
/*       op1   op2   res  eq        verify       gen               reg     fu*/
{_BinPP( C,    R|M|U,ANY, NONE ),   V_OP1ONE,    G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( C,    R|M|U,ANY, NONE ),   V_OP1ZERO,   G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( C,    ANY,  ANY, NONE ),   V_NO,        R_FORCEOP1CMEM,   RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_OP2ONE,    G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_OP2ZERO,   G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_NO,        R_FORCEOP2CMEM,   RG_8087,FU_NO},
{_BinPP( ANY,  ANY,  ANY, NONE ),   V_NO,        G_UNKNOWN,        RG_8087,FU_NO},
};

opcode_entry    Bin87Func[] = {
/*****************************/
/*       op1   op2   res  eq      verify     gen               reg             fu*/
{_Bin(   C,    R|M|U,ANY, NONE ), V_OP1ONE,  G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   C,    R|M|U,ANY, NONE ), V_OP1ZERO, G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   C,    ANY,  ANY, NONE ), V_NO,      R_FORCEOP1CMEM,   RG_8087_ZAP_ACC,FU_NO},
{_Bin(   ANY,  C,    ANY, NONE ), V_OP2ONE,  G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   ANY,  C,    ANY, NONE ), V_OP2ZERO, G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   ANY,  C,    ANY, NONE ), V_NO,      R_FORCEOP2CMEM,   RG_8087_ZAP_ACC,FU_NO},
{_Bin(   ANY,  ANY,  ANY, NONE ), V_NO,      G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
};

opcode_entry    Cmp87[] = {
/***************************/
/*       op1   op2       verify       gen               reg                fu*/
{_SidCC( C,    ANY  ),   V_OP1ONE,    G_UNKNOWN,        RG_8087_ZAP_ACC,   FU_NO},
{_SidCC( C,    ANY  ),   V_OP1ZERO,   G_UNKNOWN,        RG_8087_ZAP_ACC,   FU_NO},
{_SidCC( C,    ANY  ),   V_NO,        R_FORCEOP1CMEM,   RG_8087_ZAP_ACC,   FU_NO},
{_SidCC( M,    C    ),   V_INTCOMP,   R_INTCOMP,        RG_8087_ZAP_ACC,   FU_NO},
Exemplo n.º 2
0
#include "regset.h"
#include "model.h"
#include "tables.h"

opcode_entry    StubUnary[] = {
/*************************/
/*           from  to    eq            verify          reg           gen             fu  */
_OE( _Un(    ANY,  ANY,  NONE ),       V_NO,           RG_DWORD,     G_NO,           FU_NO ),
_OE( _Un(    ANY,  ANY,  NONE ),       V_NO,           RG_,          G_UNKNOWN,      FU_NO ),
};


opcode_entry    StubBinary[] = {
/************************/
/*           op1   op2   res   eq      verify          reg           gen             fu  */
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_DWORD,     G_NO,           FU_NO ),
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_,          G_UNKNOWN,      FU_NO ),
};

opcode_entry    StubSide[] = {
/******************************/
/*           op1   op2                 verify          reg           gen             fu  */
_OE( _Side(  ANY,  ANY ),              V_NO,           RG_DWORD,     G_NO,           FU_NO ),
_OE( _Side(  ANY,  ANY ),              V_NO,           RG_,          G_UNKNOWN,      FU_NO ),
};

#define LOAD_TABLE( name, reg ) \
static  opcode_entry    name[] = {                                                             \
/********************************/                                                             \
/*           from  to    eq            verify          reg           gen             fu  */    \
_OE( _UnPP(  M,    R,    NONE ),       V_NO,           RG_##reg,     G_LOAD_ADDR,    FU_ALU ), \