📄 arm7tdmi-olut-x86.cpp
字号:
/*************************************************************************** DSemu - The Next Generation ** Portable ARM7TDMI core: Opcode lookup table [arm7tdmi-olut.cpp] ** Copyright Imran Nazar, 2005; released under the BSD public licence. ***************************************************************************/#ifdef ARM7TDMI_X86#include "arm7tdmi.h"//---The 4096-entry opcode table-------------------------------------------// Addressed on bits [27-20][7-4] of the opcode// No coprocessor support exists in ARM7TDMI, hence the opcodes are UNI.// Opcodes undefined in ARMv4 but replaced in ARMv5 are marked.const ARM7TDMI::opfptr ARM7TDMI::XOLUT[4096]={ /*0x00*/ xopANDlli , xopANDllr , xopANDlri , xopANDlrr , xopANDari , xopANDarr , xopANDrri , xopANDrrr , xopANDlli , xopMUL , xopANDlri , xopSTRHptrm , xopANDari , xopUND, // Defined in ARM5 xopANDrri , xopUND, // Defined in ARM5 /*0x01*/ xopANDSlli , xopANDSllr , xopANDSlri , xopANDSlrr , xopANDSari , xopANDSarr , xopANDSrri , xopANDSrrr , xopANDSlli , xopMULS , xopANDSlri , xopLDRHptrm , xopANDSari , xopLDRSBptrm , xopANDSrri , xopLDRSHptrm , /*0x02*/ xopEORlli , xopEORllr , xopEORlri , xopEORlrr , xopEORari , xopEORarr , xopEORrri , xopEORrrr , xopEORlli , xopMLA , xopEORlri , xopSTRHptrm , xopEORari , xopUND, // Defined in ARM5 xopEORrri , xopUND, // Defined in ARM5 /*0x03*/ xopEORSlli , xopEORSllr , xopEORSlri , xopEORSlrr , xopEORSari , xopEORSarr , xopEORSrri , xopEORSrrr , xopEORSlli , xopMLAS , xopEORSlri , xopLDRHptrm , xopEORSari , xopLDRSBptrm , xopEORSrri , xopLDRSHptrm , /*0x04*/ xopSUBlli , xopSUBllr , xopSUBlri , xopSUBlrr , xopSUBari , xopSUBarr , xopSUBrri , xopSUBrrr , xopSUBlli , xopUNP , // Unallocated xopSUBlri , xopSTRHptim , xopSUBari , xopUND, // Defined in ARM5 xopSUBrri , xopUND, // Defined in ARM5 /*0x05*/ xopSUBSlli , xopSUBSllr , xopSUBSlri , xopSUBSlrr , xopSUBSari , xopSUBSarr , xopSUBSrri , xopSUBSrrr , xopSUBSlli , xopUNL , // Unallocated [reindexed] xopSUBSlri , xopLDRHptim , xopSUBSari , xopLDRSBptim , xopSUBSrri , xopLDRSHptim , /*0x06*/ xopRSBlli , xopRSBllr , xopRSBlri , xopRSBlrr , xopRSBari , xopRSBarr , xopRSBrri , xopRSBrrr , xopRSBlli , xopUNP , // Unallocated xopRSBlri , xopSTRHptim , xopRSBari , xopUND, // Defined in ARM5 xopRSBrri , xopUND, // Defined in ARM5 /*0x07*/ xopRSBSlli , xopRSBSllr , xopRSBSlri , xopRSBSlrr , xopRSBSari , xopRSBSarr , xopRSBSrri , xopRSBSrrr , xopRSBSlli , xopUNP , // Unallocated xopRSBSlri , xopLDRHptim , xopRSBSari , xopLDRSBptim , xopRSBSrri , xopLDRSHptim , /*0x08*/ xopADDlli , xopADDllr , xopADDlri , xopADDlrr , xopADDari , xopADDarr , xopADDrri , xopADDrrr , xopADDlli , xopUMULL , xopADDlri , xopSTRHptrp , xopADDari , xopUND, // Defined in ARM5 xopADDrri , xopUND, // Defined in ARM5 /*0x09*/ xopADDSlli , xopADDSllr , xopADDSlri , xopADDSlrr , xopADDSari , xopADDSarr , xopADDSrri , xopADDSrrr , xopADDSlli , xopUMULLS , xopADDSlri , xopLDRHptrp , xopADDSari , xopLDRSBptrp , xopADDSrri , xopLDRSHptrp , /*0x0A*/ xopADClli , xopADCllr , xopADClri , xopADClrr , xopADCari , xopADCarr , xopADCrri , xopADCrrr , xopADClli , xopUMLAL , xopADClri , xopSTRHptrp , xopADCari , xopUND, // Defined in ARM5 xopADCrri , xopUND, // Defined in ARM5 /*0x0B*/ xopADCSlli , xopADCSllr , xopADCSlri , xopADCSlrr , xopADCSari , xopADCSarr , xopADCSrri , xopADCSrrr , xopADCSlli , xopUMLALS , xopADCSlri , xopLDRHptrp , xopADCSari , xopLDRSBptrp , xopADCSrri , xopLDRSHptrp , /*0x0C*/ xopSBClli , xopSBCllr , xopSBClri , xopSBClrr , xopSBCari , xopSBCarr , xopSBCrri , xopSBCrrr , xopSBClli , xopSMULL , xopSBClri , xopSTRHptip , xopSBCari , xopUND, // Defined in ARM5 xopSBCrri , xopUND, // Defined in ARM5 /*0x0D*/ xopSBCSlli , xopSBCSllr , xopSBCSlri , xopSBCSlrr , xopSBCSari , xopSBCSarr , xopSBCSrri , xopSBCSrrr , xopSBCSlli , xopSMULLS , xopSBCSlri , xopLDRHptip , xopSBCSari , xopLDRSBptip , xopSBCSrri , xopLDRSHptip , /*0x0E*/ xopRSClli , xopRSCllr , xopRSClri , xopRSClrr , xopRSCari , xopRSCarr , xopRSCrri , xopRSCrrr , xopRSClli , xopSMLAL , xopRSClri , xopSTRHptip , xopRSCari , xopUND, // Defined in ARM5 xopRSCrri , xopUND, // Defined in ARM5 /*0x0F*/ xopRSCSlli , xopRSCSllr , xopRSCSlri , xopRSCSlrr , xopRSCSari , xopRSCSarr , xopRSCSrri , xopRSCSrrr , xopRSCSlli , xopSMLALS , xopRSCSlri , xopLDRHptip , xopRSCSari , xopLDRSBptip , xopRSCSrri , xopLDRSHptip , /*0x10*/ xopMRSrc , xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Unallocated xopUND , // Defined in ARM5 xopUNP , // Unallocated xopUNP , // Unallocated xopUND , // Defined in ARM5 xopSWP , xopUND , // Defined in ARM5 xopSTRHofrm , xopUND , // Defined in ARM5 xopUND , // Defined in ARM5 xopUND , // Defined in ARM5 xopUND , // Defined in ARM5 /*0x11*/ xopTSTSlli , xopTSTSllr , xopTSTSlri , xopTSTSlrr , xopTSTSari , xopTSTSarr , xopTSTSrri , xopTSTSrrr , xopTSTSlli , xopUNP , // Unallocated xopTSTSlri , xopLDRHofrm , xopTSTSari , xopLDRSBofrm , xopTSTSrri , xopLDRSHofrm , /*0x12*/ xopMSRrc , xopBX , xopUNP , // Unallocated xopUND , // Defined in ARM5T xopUNP , // Unallocated xopUNP , // Defined in ARM5E! xopUNP , // Unallocated xopUND , // Defined in ARM5 xopUNP , // Defined in ARM5E! xopUNP , // Unallocated xopUNP , // Defined in ARM5E! xopSTRHprrm , xopUNP , // Defined in ARM5E! xopUND, // Defined in ARM5 xopUNP , // Defined in ARM5E! xopUND, // Defined in ARM5 /*0x13*/ xopTEQSlli , xopTEQSllr , xopTEQSlri , xopTEQSlrr , xopTEQSari , xopTEQSarr , xopTEQSrri , xopTEQSrrr , xopTEQSlli , xopUNP , // Unallocated xopTEQSlri , xopLDRHprrm , xopTEQSari , xopLDRSBprrm , xopTEQSrri , xopLDRSHprrm , /*0x14*/ xopMRSrs , xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Defined in ARM5E! xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Defined in ARM5E! xopSWPB , xopUNP , // Defined in ARM5E! xopSTRHofim , xopUNP , // Defined in ARM5E! xopUND, // Defined in ARM5 xopUNP , // Defined in ARM5E! xopUND, // Defined in ARM5 /*0x15*/ xopCMPSlli , xopCMPSllr , xopCMPSlri , xopCMPSlrr , xopCMPSari , xopCMPSarr , xopCMPSrri , xopCMPSrrr , xopCMPSlli , xopUNP , // Unallocated xopCMPSlri , xopLDRHofim , xopCMPSari , xopLDRSBofim , xopCMPSrri , xopLDRSHofim , /*0x16*/ xopMSRrs , xopUND , // Defined in ARM5 xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Unallocated xopUNP , // Defined in ARM5E! xopUNP , // Unallocated xopUNP , // Unallocated xopUND, // Defined in ARM5 xopUNP , // Unallocated xopUND, // Defined in ARM5 xopSTRHprim , xopUND, // Defined in ARM5 xopUND, // Defined in ARM5 xopUND, // Defined in ARM5 xopUND, // Defined in ARM5 /*0x17*/ xopCMNSlli , xopCMNSllr , xopCMNSlri , xopCMNSlrr , xopCMNSari , xopCMNSarr , xopCMNSrri , xopCMNSrrr , xopCMNSlli , xopUNP , // Unallocated xopCMNSlri , xopLDRHprim , xopCMNSari , xopLDRSBprim , xopCMNSrri , xopLDRSHprim , /*0x18*/ xopORRlli , xopORRllr , xopORRlri , xopORRlrr , xopORRari , xopORRarr , xopORRrri , xopORRrrr , xopORRlli , xopUNP , // Unallocated xopORRlri , xopSTRHofrp , xopORRari , xopUND, // Defined in ARM5 xopORRrri , xopUND, // Defined in ARM5 /*0x19*/ xopORRSlli , xopORRSllr , xopORRSlri , xopORRSlrr , xopORRSari , xopORRSarr , xopORRSrri , xopORRSrrr , xopORRSlli , xopUNP , // Unallocated xopORRSlri , xopLDRHofrp , xopORRSari , xopLDRSBofrp , xopORRSrri , xopLDRSHofrp , /*0x1A*/ xopMOVlli , xopMOVllr , xopMOVlri , xopMOVlrr , xopMOVari , xopMOVarr , xopMOVrri , xopMOVrrr , xopMOVlli , xopUNP , // Unallocated xopMOVlri , xopSTRHprrp , xopMOVari , xopUND, // Defined in ARM5 xopMOVrri , xopUND, // Defined in ARM5 /*0x1B*/ xopMOVSlli , xopMOVSllr , xopMOVSlri , xopMOVSlrr , xopMOVSari , xopMOVSarr , xopMOVSrri , xopMOVSrrr , xopMOVSlli , xopUNP , // Unallocated xopMOVSlri , xopLDRHprrp , xopMOVSari , xopLDRSBprrp , xopMOVSrri , xopLDRSHprrp , /*0x1C*/ xopBIClli , xopBICllr , xopBIClri , xopBIClrr , xopBICari , xopBICarr , xopBICrri , xopBICrrr , xopBIClli , xopUNP , // Unallocated xopBIClri , xopSTRHofip , xopBICari , xopUND, // Defined in ARM5 xopBICrri , xopUND, // Defined in ARM5 /*0x1D*/ xopBICSlli , xopBICSllr , xopBICSlri , xopBICSlrr , xopBICSari , xopBICSarr , xopBICSrri , xopBICSrrr , xopBICSlli , xopUNP , // Unallocated xopBICSlri , xopLDRHofip , xopBICSari , xopLDRSBofip , xopBICSrri , xopLDRSHofip , /*0x1E*/ xopMVNlli , xopMVNllr , xopMVNlri , xopMVNlrr , xopMVNari , xopMVNarr , xopMVNrri , xopMVNrrr , xopMVNlli , xopUNP , // Unallocated xopMVNlri , xopSTRHprip , xopMVNari , xopUND, // Defined in ARM5 xopMVNrri , xopUND, // Defined in ARM5 /*0x1F*/ xopMVNSlli , xopMVNSllr , xopMVNSlri , xopMVNSlrr , xopMVNSari , xopMVNSarr , xopMVNSrri , xopMVNSrrr , xopMVNSlli , xopUNP , // Unallocated xopMVNSlri , xopLDRHprip , xopMVNSari , xopLDRSBprip , xopMVNSrri , xopLDRSHprip , /*0x20*/ xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , xopANDimm , /*0x21*/ xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , xopANDSimm , /*0x22*/ xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , xopEORimm , /*0x23*/ xopEORSimm , xopEORSimm , xopEORSimm , xopEORSimm , xopEORSimm , xopEORSimm , xopEORSimm ,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -