⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsmlib.c

📁 VxWorks BSP框架源代码包含头文件和驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
    {"PFLUSH",	itPflush, 0xf000, 0x3010, 0xffc0, 0xff18,    0x00, 0x00},    {"PFLUSH",	itPflush, 0xf000, 0x3800, 0xffc0, 0xff1f,    0x8b, 0x1c},    {"PFLUSH",	itPflush, 0xf000, 0x3801, 0xffc0, 0xff1f,    0x8b, 0x1c},    {"PFLUSH",	itPflush, 0xf000, 0x3808, 0xffc0, 0xff18,    0x00, 0x00},    {"PFLUSH",	itPflush, 0xf000, 0x3810, 0xffc0, 0xff18,    0x00, 0x00},    {"PMOVEFD",	itPmove,  0xf000, 0x4000, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVE",	itPmove,  0xf000, 0x4100, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVEFD",	itPmove,  0xf000, 0x4800, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVE",	itPmove,  0xf000, 0x4900, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVEFD",	itPmove,  0xf000, 0x4c00, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVE",	itPmove,  0xf000, 0x4d00, 0xffc0, 0xfdcf,    0x9b, 0x1c},    {"PMOVE",	itPmove,  0xf000, 0x6000, 0xffc0, 0xfdff,    0x9b, 0x1c},    {"PTESTW",	itPtest,  0xf000, 0x8000, 0xffc0, 0xe21f,    0x8b, 0x1c},    {"PTESTW",	itPtest,  0xf000, 0x8001, 0xffc0, 0xe21f,    0x8b, 0x1c},    {"PTESTW",	itPtest,  0xf000, 0x8008, 0xffc0, 0xe218,    0x8b, 0x1c},    {"PTESTW",	itPtest,  0xf000, 0x8010, 0xffc0, 0xe218,    0x8b, 0x1c},    {"PTESTR",	itPtest,  0xf000, 0x8200, 0xffc0, 0xe21f,    0x8b, 0x1c},    {"PTESTR",	itPtest,  0xf000, 0x8201, 0xffc0, 0xe21f,    0x8b, 0x1c},    {"PTESTR",	itPtest,  0xf000, 0x8208, 0xffc0, 0xe218,    0x8b, 0x1c},    {"PTESTR",	itPtest,  0xf000, 0x8210, 0xffc0, 0xe218,    0x8b, 0x1c},#endif	/* CPU == MC68020 || CPU == MC68030) */    /*     20 bit mask	*/    {"DIVUL",	itDivL,    0x4c40, 0x0000,   0xffc0, 0x8ff8,    0x02, 0x00},    {"DIVU",	itDivL,    0x4c40, 0x0400,   0xffc0, 0x8ff8,    0x02, 0x00},    {"DIVSL",	itDivL,    0x4c40, 0x0800,   0xffc0, 0x8ff8,    0x02, 0x00},    {"DIVS",	itDivL,    0x4c40, 0x0c00,   0xffc0, 0x8ff8,    0x02, 0x00},    {"cpDBcc",	itCpDbcc,  0xf048, 0x0000,   0xf1f8, 0xffc0,    0x00, 0x00},    {"cpTRAP",	itCpTrapcc,0xf078, 0x0000,   0xf1f8, 0xffc0,    0x00, 0x00},    /*    19 bit mask	*/    {"MULS",	itDivL, 0x4c00, 0x0800,	  0xffc0, 0x8bf8,    0x02, 0x00},    {"MULU",	itDivL, 0x4c00, 0x0000,	  0xffc0, 0x8bf8,    0x02, 0x00},    /*    18 bit mask	*/    {"BTST",	itStatBit, 0x0800,0x0000,   0xffc0, 0xff00,    0x82, 0x10},    {"BCHG",	itStatBit, 0x0840,0x0000,   0xffc0, 0xff00,    0x82, 0x1c},    {"BCLR",	itStatBit, 0x0880,0x0000,   0xffc0, 0xff00,    0x82, 0x1c},    {"CALLM",	itCallm,   0x06c0,0x0000,   0xffc0, 0xff00,    0x9b, 0x10},    /*    17 bit mask	*/    {"BSET",	itStatBit,  0x08c0, 0x0000,  0xffc0, 0xfe00,    0x82, 0x1c},    /*    16 bit mask */    {"ANDI",	itImmTSR,   0x027c, 0x0000,  0xffff, 0x0000,    0x00, 0x00},								    /* to SR */    {"ORI",	itImmTSR,   0x007c, 0x0000,  0xffff, 0x0000,    0x00, 0x00},								    /* to SR */    {"EORI",	itImmTSR,   0x0a7c, 0x0000,  0xffff, 0x0000,    0x00, 0x00},								    /* to SR */    {"ILL",	itComplete, 0x4afc, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"RESET",	itComplete, 0x4e70, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"NOP",	itComplete, 0x4e71, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"STOP",	itStop,     0x4e72, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"RTE",	itComplete, 0x4e73, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"RTD",	itRTD, 	    0x4e74, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"RTS",	itComplete, 0x4e75, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"TRAPV",	itComplete, 0x4e76, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    {"RTR",	itComplete, 0x4e77, 0x0000,  0xffff, 0x0000,    0x00, 0x00},    /*     15 bit mask	*/    {"MOVEC",	itMovec,    0x4e7a, 0x0000,  0xfffe, 0x0000,    0x00, 0x00},    /*     14 bit mask	*/    {"BFCHG",	itBfchg,    0xeac0, 0x0000,  0xffc0, 0xf000,    0x9a, 0x1c},    {"BFCLR",	itBfchg,    0xecc0, 0x0000,  0xffc0, 0xf000,    0x9a, 0x1c},    {"BFSET",	itBfchg,    0xeec0, 0x0000,  0xffc0, 0xf000,    0x9a, 0x1c},    /*    13 bit mask	*/    {"LINK",	itLinkL,    0x4808, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"SWAP",	itSwap,     0x4840, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"BKPT",	itBkpt,     0x4848, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"EXT",	itExt,      0x4880, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"EXT",	itExt,      0x48c0, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"EXTB",	itExt,      0x49c0, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"LINK",	itLink,     0x4e50, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"UNLK",	itUnlk,     0x4e58, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBT",	itDb,       0x50c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPT",	itTrapcc,   0x50f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBF",	itDb,       0x51c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPF",	itTrapcc,   0x51f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBHI",	itDb,       0x52c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPHI",	itTrapcc,   0x52f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBLS",	itDb,       0x53c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPLS",	itTrapcc,   0x53f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBCC",	itDb,       0x54c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPCC",	itTrapcc,   0x54f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBCS",	itDb,       0x55c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPCS",	itTrapcc,   0x55f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBNE",	itDb,       0x56c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPNE",	itTrapcc,   0x56f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBEQ",	itDb,       0x57c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPEQ",	itTrapcc,   0x57f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBVC",	itDb,       0x58c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPVC",	itTrapcc,   0x58f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBVS",	itDb,       0x59c8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPVS",	itTrapcc,   0x59f8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBPL",	itDb,       0x5ac8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPPL",	itTrapcc,   0x5af8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBMI",	itDb,       0x5bc8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPMI",	itTrapcc,   0x5bf8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBGE",	itDb,       0x5cc8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPGE",	itTrapcc,   0x5cf8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBLT",	itDb,       0x5dc8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPLT",	itTrapcc,   0x5df8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBGT",	itDb, 	    0x5ec8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPGT",	itTrapcc,   0x5ef8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"DBLE",	itDb,       0x5fc8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"TRAPLE",	itTrapcc,   0x5ff8, 0x0000,  0xfff8, 0x0000,    0x00, 0x00},    {"BFTST",	itBfchg,    0xe8c0, 0x0000,  0xffc0, 0xe000,    0x9a, 0x10},    /*     12 bit mask	*/    {"RTM",	itRtm, 	    0x06c0, 0x0000,  0xfff0, 0x0000,    0x00, 0x00},    {"TRAP",	itTrap,     0x4e40, 0x0000,  0xfff0, 0x0000,    0x00, 0x00},    {"MOVE",	itMoveUSP,  0x4e60, 0x0000,  0xfff0, 0x0000,    0x00, 0x00},								    /* USP */    /*    11 bit mask	*/    {"BFEXTU",	itBfext,    0xe9c0, 0x0000,  0xffc0, 0x8000,    0x9a, 0x10},    {"BFEXTS",	itBfext,    0xebc0, 0x0000,  0xffc0, 0x8000,    0x9a, 0x10},    {"BFFFO",	itBfext,    0xedc0, 0x0000,  0xffc0, 0x8000,    0x9a, 0x10},    {"BFINS",	itBfins,    0xefc0, 0x0000,  0xffc0, 0x8000,    0x9a, 0x1c},    /*     10 bit mask	*/    {"ORI",	itImm,      0x0000, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ORI",	itImm,      0x0040, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ORI",	itImm,      0x0080, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ANDI",	itImm,      0x0200, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ANDI",	itImm,      0x0240, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ANDI",	itImm,      0x0280, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SUBI",	itImm,      0x0400, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SUBI",	itImm,      0x0440, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SUBI",	itImm,      0x0480, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ADDI",	itImm,      0x0600, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ADDI",	itImm,      0x0640, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ADDI",	itImm,      0x0680, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"EORI",	itImm,      0x0a00, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"EORI",	itImm,      0x0a40, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"EORI",	itImm,      0x0a80, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"CMPI",	itImm,      0x0c00, 0x0000,  0xffc0, 0x0000,    0x82, 0x10},    {"CMPI",	itImm,      0x0c40, 0x0000,  0xffc0, 0x0000,    0x82, 0x10},    {"CMPI",	itImm,      0x0c80, 0x0000,  0xffc0, 0x0000,    0x82, 0x10},    {"MOVE",	itMoveFSR,  0x40c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},					 		    /* from SR*/    {"MOVE",	itMoveFCCR, 0x42c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    								    /*from CCR*/    {"MOVE",	itMoveCCR,  0x44c0, 0x0000,  0xffc0, 0x0000,    0x02, 0x00},								    /* to CCR */    {"MOVE",	itMoveTSR,  0x46c0, 0x0000,  0xffc0, 0x0000,    0x02, 0x00},								    /* to SR */    {"NBCD",	itNbcd,     0x4800, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"PEA",	itNbcd,     0x4840, 0x0000,  0xffc0, 0x0000,    0x9b, 0x10},    {"TAS",	itNbcd,     0x4ac0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"JSR",	itNbcd,     0x4e80, 0x0000,  0xffc0, 0x0000,    0x9b, 0x10},    {"JMP",	itNbcd,     0x4ec0, 0x0000,  0xffc0, 0x0000,    0x9b, 0x10},    {"ST",	itScc,      0x50c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SF",	itScc,      0x51c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SHI",	itScc,      0x52c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SLS",	itScc,      0x53c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SCC",	itScc,      0x54c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SCS",	itScc,      0x55c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SNE",	itScc,      0x56c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SEQ",	itScc,      0x57c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SVC",	itScc,      0x58c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SVS",	itScc,      0x59c0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SPL",	itScc,      0x5ac0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SMI",	itScc,      0x5bc0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SGE",	itScc,      0x5cc0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SLT",	itScc,      0x5dc0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SGT",	itScc,      0x5ec0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"SLE",	itScc,      0x5fc0, 0x0000,  0xffc0, 0x0000,    0x82, 0x1c},    {"ASR",	itMemShift, 0xe0c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"ASL",	itMemShift, 0xe1c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1a},    {"LSR",	itMemShift, 0xe2c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"LSL",	itMemShift, 0xe3c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"ROXR",	itMemShift, 0xe4c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"ROXL",	itMemShift, 0xe5c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"ROR",	itMemShift, 0xe6c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    {"ROL",	itMemShift, 0xe7c0, 0x0000,  0xffc0, 0x0000,    0x83, 0x1c},    /*     10 bit mask	*/    {"CMPM",	itCmpm, 0xb108, 0x0000,	  0xf1f8, 0x0000,    0x00, 0x00},    {"CMPM",	itCmpm, 0xb148,	0x0000,   0xf1f8, 0x0000,    0x00, 0x00},    {"CMPM",	itCmpm, 0xb188, 0x0000,	  0xf1f8, 0x0000,    0x00, 0x00},    {"EXG",	itExg,  0xc140,	0x0000,   0xf1f8, 0x0000,    0x00, 0x00},    {"EXG",	itExg,  0xc148,	0x0000,   0xf1f8, 0x0000,    0x00, 0x00},    {"EXG",	itExg,  0xc188,	0x0000,   0xf1f8, 0x0000,    0x00, 0x00},    /*     9 bit mask	*/    {"MOVEM",	itMovem, 0x4880, 0x0000, 0xff80, 0x0000,    0x8b, 0x1c},    {"MOVEM",	itMovem, 0x4c80, 0x0000, 0xff80, 0x0000,    0x93, 0x10},    {"SBCD",	itBcd,   0x8100, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"PACK",	itPack,  0x8140, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"UNPK",	itPack,  0x8180, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"ABCD",	itBcd,   0xc100, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"SUBX",	itX,     0x9100, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"SUBX",	itX,     0x9140, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"SUBX",	itX,     0x9180, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"ADDX",	itX,     0xd100, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"ADDX",	itX,     0xd140, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    {"ADDX",	itX,     0xd180, 0x0000, 0xf1f0, 0x0000,    0x00, 0x00},    /*     8 bit mask	*/    {"NEGX",	itNegx, 0x4000,	0x0000,   0xff00, 0x0000,    0x82, 0x1c},    {"CLR",	itNegx, 0x4200,	0x0000,   0xff00, 0x0000,    0x82, 0x1c},    {"NEG",	itNegx, 0x4400,	0x0000,   0xff00, 0x0000,    0x82, 0x1c},    {"NOT",	itNegx, 0x4600,	0x0000,   0xff00, 0x0000,    0x82, 0x1c},    {"TST",	itNegx, 0x4a00,	0x0000,   0xff00, 0x0000,    0x80, 0x10},    {"BRA",	itBra,  0x6000,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BSR",	itBra,  0x6100,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BHI",	itBra,  0x6200, 0x0000,	  0xff00, 0x0000,    0x00, 0x00},    {"BLS",	itBra,  0x6300,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BCC",	itBra,  0x6400,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BCS",	itBra,  0x6500,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BNE",	itBra,  0x6600,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BEQ",	itBra,  0x6700,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BVC",	itBra,  0x6800,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BVS",	itBra,  0x6900,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BPL",	itBra,  0x6a00,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BMI",	itBra,  0x6b00,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BGE",	itBra,  0x6c00,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BLT",	itBra,  0x6d00, 0x0000,	  0xff00, 0x0000,    0x00, 0x00},    {"BGT",	itBra,  0x6e00,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    {"BLE",	itBra,  0x6f00,	0x0000,   0xff00, 0x0000,    0x00, 0x00},    /*     7 bit mask	*/    {"BTST",	itDynBit, 0x0100, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"BCHG",	itDynBit, 0x0140, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"BCLR",	itDynBit, 0x0180, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"BSET",	itDynBit, 0x01c0, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"CHK",	itChk,    0x4100, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"CHK",	itChk,    0x4180, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"LEA",	itLea,    0x41c0, 0x0000,  0xf1c0, 0x0000,    0x9b, 0x10},    {"DIVU",	itDivW,   0x80c0, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"DIVS",	itDivW,   0x81c0, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"SUB",	itOr,     0x9000, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"SUB",	itOr,     0x9040, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"SUB",	itOr,     0x9080, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"SUBA",	itAdda,   0x90c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"SUB",	itOr,     0x9100, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"SUB",	itOr,     0x9140, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"SUB",	itOr,     0x9180, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"SUBA",	itAdda,   0x91c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"CMP",	itOr,     0xb000, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"CMP",	itOr,     0xb040, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"CMP",	itOr,     0xb080, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"CMPA",	itAdda,   0xb0c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"CMPA",	itAdda,   0xb1c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"MULU",	itDivW,   0xc0c0, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"MULS",	itDivW,   0xc1c0, 0x0000,  0xf1c0, 0x0000,    0x02, 0x00},    {"ADD",	itOr,     0xd000, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"ADD",	itOr,     0xd040, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"ADD",	itOr,     0xd080, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"ADDA",	itAdda,   0xd0c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    {"ADD",	itOr,     0xd100, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"ADD",	itOr,     0xd140, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"ADD",	itOr,     0xd180, 0x0000,  0xf1c0, 0x0000,    0x82, 0x1c},    {"ADDA",	itAdda,   0xd1c0, 0x0000,  0xf1c0, 0x0000,    0x00, 0x00},    /*     7 bit mask	*/    {"ASR",	itRegShift, 0xe000,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"LSR",	itRegShift, 0xe008,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"ROXR",	itRegShift, 0xe010,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"ROR",	itRegShift, 0xe018,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"ASL",	itRegShift, 0xe100,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"LSL",	itRegShift, 0xe108,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"ROXL",	itRegShift, 0xe110,0x0000,   0xf118, 0x0000,    0x00, 0x00},    {"ROL",	itRegShift, 0xe118,0x0000,   0xf118, 0x0000,    0x00, 0x00},    /*     7 bit mask	*/    {"MOVEP",	itMovep, 0x0080, 0x0000,   0xf038, 0x0000,    0x00, 0x00},    /*     6 bit mask	*/    {"cpBcc",	itCpBcc, 0xf080, 0x0000,   0xf180, 0x0000,    0x00, 0x00},    /*     5 bit mask	*/    {"MOVEA",	itMoveA, 0x0040, 0x0000,   0xc1c0, 0x0000,    0x00, 0x00},    /*     5 bit mask	*/    {"ADDQ",	itQuick, 0x5000, 0x0000,  0xf100, 0x0000,    0x80, 0x1c},    {"SUBQ",	itQuick, 0x5100, 0x0000,  0xf100, 0x0000,    0x80, 0x1c},    {"MOVEQ",	itMoveq, 0x7000, 0x0000,  0xf100, 0x0000,    0x00, 0x00},    /*     4 bit mask	*/    {"MOVE",	itMoveB, 0x1000, 0x0000,  0xf000, 0x0000,    0x82, 0x1c},    {"MOVE",	itMoveL, 0x2000, 0x0000,  0xf000, 0x0000,    0x82, 0x1c},    {"MOVE",	itMoveW, 0x3000, 0x0000,  0xf000, 0x0000,    0x82, 0x1c},    {"OR",	itOr,    0x8000, 0x0000,  0xf100, 0x0000,    0x02, 0x00},    {"OR",	itOr,    0x8100, 0x0000,  0xf100, 0x0000,    0x83, 0x1c},    {"EOR",	itOr,    0xb000, 0x0000,  0xf000, 0x0000,    0x82, 0x1c},    {"AND",	itOr,    0xc000, 0x0000,  0xf100, 0x0000,    0x02, 0x00},    {"AND",	itOr,    0xc100, 0x0000,  0xf100, 0x0000,    0x83, 0x1c},    {"",	0,	 NULL,	 NULL,   NULL,	  NULL,      NULL, NULL}    };/********************************************************************************* dsmFind - disassemble one instruction** This routine figures out which instruction is pointed to by binInst,* and returns a pointer to the INST which describes it.** RETURNS: pointer to instruction or NULL if unknown instruction.*/LOCAL INST *dsmFind    (    USHORT binInst []    )    {    FAST INST *iPtr;    UINT8 instMode;    UINT8 instReg;    /* Find out which instruction it is */    for (iPtr = &inst [0]; iPtr->mask1 != NULL; iPtr++)	if ((binInst [0] & iPtr->mask1) == iPtr->op1	     && (binInst[1] & iPtr->mask2) == iPtr->op2)	    {	    /* get address mode */	    if (strcmp (iPtr->name, "MOVE") == 0)		{		instMode = (binInst[0] & 0x01c0) >> 6;		instReg  = (binInst[0] & 0x0e00) >> 9;		}	    else		{	        instMode = (binInst[0] & 0x0038) >> 3;	        instReg = binInst [0] & 0x0007;		}	    /* check effective address mode */	    if (((1 << instMode ) & iPtr->modemask) == 0x00)		{	        return (iPtr);		}	    if ((((1 << instMode ) & iPtr->modemask) == 0x80) &&		(((1 << instReg) & iPtr->regmask) == 0x00))	        {	        return (iPtr);		}	    }    /* If we're here, we couldn't find it */    errnoSet (S_dsmLib_UNKNOWN_INSTRUCTION);    return (NULL);    }/********************************************************************************* dsmPrint - print a disassembled instruction** This routine prints an instruction in disassembled form.  It takes* as input a pointer to the instruction, a pointer to the INST* that describes it (as found by dsmFind()), and an address with which to

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -