/*
M68KITAB.h
Copyright (C) 2007, Paul C. Pratt
You can redistribute this file and/or modify it under the terms
of version 2 of the GNU General Public License as published by
the Free Software Foundation. You should have received a copy
of the license along with this file; see the file COPYING.
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
license for more details.
*/#ifdef M68KITAB_H#error "header already included"#else#define M68KITAB_H#endifenum{kIKindTst,kIKindCmpB,kIKindCmpW,kIKindCmpL,kIKindBccB,kIKindBccW,kIKindBraB,kIKindBraW,kIKindDBcc,kIKindDBF,kIKindSwap,kIKindMoveL,kIKindMoveW,kIKindMoveB,kIKindMoveAL,kIKindMoveAW,kIKindMoveQ,kIKindAddB,kIKindAddW,kIKindAddL,kIKindSubB,kIKindSubW,kIKindSubL,kIKindLea,kIKindPEA,kIKindA,kIKindBsrB,kIKindBsrW,kIKindJsr,kIKindLinkA6,kIKindMOVEMRmML,kIKindMOVEMApRL,kIKindUnlkA6,kIKindRts,kIKindJmp,kIKindClr,kIKindAddA,kIKindAddQA,kIKindSubA,kIKindSubQA,kIKindCmpA,kIKindAddXB,kIKindAddXW,kIKindAddXL,kIKindSubXB,kIKindSubXW,kIKindSubXL,kIKindAslB,kIKindAslW,kIKindAslL,kIKindAsrB,kIKindAsrW,kIKindAsrL,kIKindLslB,kIKindLslW,kIKindLslL,kIKindLsrB,kIKindLsrW,kIKindLsrL,kIKindRxlB,kIKindRxlW,kIKindRxlL,kIKindRxrB,kIKindRxrW,kIKindRxrL,kIKindRolB,kIKindRolW,kIKindRolL,kIKindRorB,kIKindRorW,kIKindRorL,kIKindBTstB,kIKindBChgB,kIKindBClrB,kIKindBSetB,kIKindBTstL,kIKindBChgL,kIKindBClrL,kIKindBSetL,kIKindAndI,kIKindAndEaD,kIKindAndDEa,kIKindOrI,kIKindOrDEa,kIKindOrEaD,kIKindEor,kIKindEorI,kIKindNot,kIKindScc,kIKindNegXB,kIKindNegXW,kIKindNegXL,kIKindNegB,kIKindNegW,kIKindNegL,kIKindEXTW,kIKindEXTL,kIKindMulU,kIKindMulS,kIKindDivU,kIKindDivS,kIKindExg,kIKindMoveEaCCR,kIKindMoveSREa,kIKindMoveEaSR,kIKindOrISR,kIKindAndISR,kIKindEorISR,kIKindOrICCR,kIKindAndICCR,kIKindEorICCR,kIKindMOVEMApRW,kIKindMOVEMRmMW,kIKindMOVEMrmW,kIKindMOVEMrmL,kIKindMOVEMmrW,kIKindMOVEMmrL,kIKindAbcd,kIKindSbcd,kIKindNbcd,kIKindRte,kIKindNop,kIKindMoveP0,kIKindMoveP1,kIKindMoveP2,kIKindMoveP3,kIKindIllegal,kIKindChkW,kIKindTrap,kIKindTrapV,kIKindRtr,kIKindLink,kIKindUnlk,kIKindMoveRUSP,kIKindMoveUSPR,kIKindTas,kIKindFdflt,kIKindStop,kIKindReset,#if Use68020kIKindCallMorRtm,kIKindBraL,kIKindBccL,kIKindBsrL,kIKindEXTBL,kIKindTRAPcc,kIKindChkL,kIKindBkpt,kIKindDivL,kIKindMulL,kIKindRtd,kIKindMoveCCREa,kIKindMoveCEa,kIKindMoveEaC,kIKindLinkL,kIKindPack,kIKindUnpk,kIKindCHK2orCMP2,kIKindCAS2,kIKindCAS,kIKindMoveS,kIKindBitField,#endif#if EmMMUkIKindMMU,#endif#if EmFPUkIKindFPUmd60,kIKindFPUDBcc,kIKindFPUTrapcc,kIKindFPUScc,kIKindFPUFBccW,kIKindFPUFBccL,kIKindFPUSave,kIKindFPURestore,kIKindFPUdflt,#endifkNumIKinds};enum{kAMdRegB,kAMdRegW,kAMdRegL,kAMdIndirectB,kAMdIndirectW,kAMdIndirectL,kAMdAPosIncB,kAMdAPosIncW,kAMdAPosIncL,kAMdAPosInc7B,kAMdAPreDecB,kAMdAPreDecW,kAMdAPreDecL,kAMdAPreDec7B,kAMdADispB,kAMdADispW,kAMdADispL,kAMdAIndexB,kAMdAIndexW,kAMdAIndexL,kAMdAbsWB,kAMdAbsWW,kAMdAbsWL,kAMdAbsLB,kAMdAbsLW,kAMdAbsLL,kAMdPCDispB,kAMdPCDispW,kAMdPCDispL,kAMdPCIndexB,kAMdPCIndexW,kAMdPCIndexL,kAMdImmedB,kAMdImmedW,kAMdImmedL,kAMdDat4,kNumAMds};structDecOpXR{/* expected size : 4 bytes */ui4bMainClas;ui4bCycles;};typedefstructDecOpXRDecOpXR;structDecArgR{/* expected size : 2 bytes */ui3bAMd;ui3bArgDat;};typedefstructDecArgRDecArgR;structDecOpYR{/* expected size : 4 bytes */DecArgRv[2];};typedefstructDecOpYRDecOpYR;structDecOpR{/* expected size : 8 bytes */DecOpXRx;DecOpYRy;}my_align_8;typedefstructDecOpRDecOpR;#define GetDcoCycles(p) ((p)->x.Cycles)#define SetDcoMainClas(p,