📄 arm-dp-x86.cpp
字号:
OPC xopRSBSrri() { addrDPrn; addrDPrri; opRSB; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSBSrrr() { addrDPrn; addrDPrrr; opRSB; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSBSimm() { addrDPrn; addrDPimm; opRSB; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 1; }OPC xopADDSlli() { addrDPrn; addrDPlli; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSllr() { addrDPrn; addrDPllr; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSlri() { addrDPrn; addrDPlri; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSlrr() { addrDPrn; addrDPlrr; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSari() { addrDPrn; addrDPari; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSarr() { addrDPrn; addrDParr; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSrri() { addrDPrn; addrDPrri; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSrrr() { addrDPrn; addrDPrrr; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADDSimm() { addrDPrn; addrDPimm; opADD; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 1; }OPC xopADCSlli() { addrDPrn; addrDPlli; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSllr() { addrDPrn; addrDPllr; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSlri() { addrDPrn; addrDPlri; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSlrr() { addrDPrn; addrDPlrr; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSari() { addrDPrn; addrDPari; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSarr() { addrDPrn; addrDParr; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSrri() { addrDPrn; addrDPrri; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSrrr() { addrDPrn; addrDPrrr; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 2; }OPC xopADCSimm() { addrDPrn; addrDPimm; opADC; flagDPnz; flagDPcADD; flagDPvADD; cpsrDP; return 1; }OPC xopSBCSlli() { addrDPrn; addrDPlli; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSllr() { addrDPrn; addrDPllr; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSlri() { addrDPrn; addrDPlri; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSlrr() { addrDPrn; addrDPlrr; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSari() { addrDPrn; addrDPari; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSarr() { addrDPrn; addrDParr; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSrri() { addrDPrn; addrDPrri; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSrrr() { addrDPrn; addrDPrrr; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 2; }OPC xopSBCSimm() { addrDPrn; addrDPimm; opSBC; flagDPnz; flagDPcSUB; flagDPvSUB; cpsrDP; return 1; }OPC xopRSCSlli() { addrDPrn; addrDPlli; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSllr() { addrDPrn; addrDPllr; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSlri() { addrDPrn; addrDPlri; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSlrr() { addrDPrn; addrDPlrr; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSari() { addrDPrn; addrDPari; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSarr() { addrDPrn; addrDParr; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSrri() { addrDPrn; addrDPrri; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSrrr() { addrDPrn; addrDPrrr; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 2; }OPC xopRSCSimm() { addrDPrn; addrDPimm; opRSC; flagDPnz; flagDPcRSB; flagDPvRSB; cpsrDP; return 1; }OPC xopTSTSlli() { addrDPrn; addrDPlli; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSllr() { addrDPrn; addrDPllr; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSlri() { addrDPrn; addrDPlri; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSlrr() { addrDPrn; addrDPlrr; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSari() { addrDPrn; addrDPari; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSarr() { addrDPrn; addrDParr; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSrri() { addrDPrn; addrDPrri; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSrrr() { addrDPrn; addrDPrrr; opTST; flagDPnzTST; cpsrDP; return 2; }OPC xopTSTSimm() { addrDPrn; addrDPimm; opTST; flagDPnzTST; cpsrDP; return 1; }OPC xopTEQSlli() { addrDPrn; addrDPlli; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSllr() { addrDPrn; addrDPllr; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSlri() { addrDPrn; addrDPlri; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSlrr() { addrDPrn; addrDPlrr; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSari() { addrDPrn; addrDPari; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSarr() { addrDPrn; addrDParr; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSrri() { addrDPrn; addrDPrri; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSrrr() { addrDPrn; addrDPrrr; opTEQ; flagDPnzTST; cpsrDP; return 2; }OPC xopTEQSimm() { addrDPrn; addrDPimm; opTEQ; flagDPnzTST; cpsrDP; return 1; }OPC xopCMPSlli() { addrDPrn; addrDPlli; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSllr() { addrDPrn; addrDPllr; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSlri() { addrDPrn; addrDPlri; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSlrr() { addrDPrn; addrDPlrr; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSari() { addrDPrn; addrDPari; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSarr() { addrDPrn; addrDParr; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSrri() { addrDPrn; addrDPrri; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSrrr() { addrDPrn; addrDPrrr; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 2; }OPC xopCMPSimm() { addrDPrn; addrDPimm; opCMP; flagDPnzTST; flagDPcCMP; flagDPvCMP; cpsrDP; return 1; }OPC xopCMNSlli() { addrDPrn; addrDPlli; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSllr() { addrDPrn; addrDPllr; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSlri() { addrDPrn; addrDPlri; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSlrr() { addrDPrn; addrDPlrr; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSari() { addrDPrn; addrDPari; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSarr() { addrDPrn; addrDParr; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSrri() { addrDPrn; addrDPrri; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSrrr() { addrDPrn; addrDPrrr; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 2; }OPC xopCMNSimm() { addrDPrn; addrDPimm; opCMN; flagDPnzTST; flagDPcCMN; flagDPvCMN; cpsrDP; return 1; }OPC xopORRSlli() { addrDPrn; addrDPlli; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSllr() { addrDPrn; addrDPllr; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSlri() { addrDPrn; addrDPlri; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSlrr() { addrDPrn; addrDPlrr; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSari() { addrDPrn; addrDPari; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSarr() { addrDPrn; addrDParr; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSrri() { addrDPrn; addrDPrri; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSrrr() { addrDPrn; addrDPrrr; opORR; flagDPnz; cpsrDP; return 2; }OPC xopORRSimm() { addrDPrn; addrDPimm; opORR; flagDPnz; cpsrDP; return 1; }OPC xopMOVSlli() { addrDPrn; addrDPlli; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSllr() { addrDPrn; addrDPllr; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSlri() { addrDPrn; addrDPlri; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSlrr() { addrDPrn; addrDPlrr; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSari() { addrDPrn; addrDPari; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSarr() { addrDPrn; addrDParr; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSrri() { addrDPrn; addrDPrri; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSrrr() { addrDPrn; addrDPrrr; opMOV; flagDPnz; cpsrDP; return 2; }OPC xopMOVSimm() { addrDPrn; addrDPimm; opMOV; flagDPnz; cpsrDP; return 1; }OPC xopBICSlli() { addrDPrn; addrDPlli; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSllr() { addrDPrn; addrDPllr; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSlri() { addrDPrn; addrDPlri; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSlrr() { addrDPrn; addrDPlrr; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSari() { addrDPrn; addrDPari; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSarr() { addrDPrn; addrDParr; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSrri() { addrDPrn; addrDPrri; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSrrr() { addrDPrn; addrDPrrr; opBIC; flagDPnz; cpsrDP; return 2; }OPC xopBICSimm() { addrDPrn; addrDPimm; opBIC; flagDPnz; cpsrDP; return 1; }OPC xopMVNSlli() { addrDPrn; addrDPlli; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSllr() { addrDPrn; addrDPllr; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSlri() { addrDPrn; addrDPlri; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSlrr() { addrDPrn; addrDPlrr; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSari() { addrDPrn; addrDPari; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSarr() { addrDPrn; addrDParr; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSrri() { addrDPrn; addrDPrri; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSrrr() { addrDPrn; addrDPrrr; opMVN; flagDPnz; cpsrDP; return 2; }OPC xopMVNSimm() { addrDPrn; addrDPimm; opMVN; flagDPnz; cpsrDP; return 1; }// Also in this file are various opcodes dealing with data, which aren't// strictly within the manual's DP remit, but are common among the cores.//---Multiply--------------------------------------------------------------// ACK: Mark Andrews, "Atari Roots" [1984] (Long mul algorithm extended)// ACK: Commodore Hacking, issue 8 (Signed long mul negation policy)// NOTE: The Rd and Rs fields are swapped in the instruction definition;// the destination register for multiplies is Rs!OPC xopMUL(){ return 1;}OPC xopMLA(){ return 1;}OPC xopMULS(){ return 1;}OPC xopMLAS(){ return 1;}OPC xopUMULL(){ return 1;}OPC xopUMLAL(){ return 1;}OPC xopSMULL(){ return 1; }OPC xopSMLAL(){ return 1;}OPC xopUMULLS(){ return 1;}OPC xopUMLALS(){ return 1;}OPC xopSMULLS(){ return 1;}OPC xopSMLALS(){ return 1; }//---Move between register and cpsr----------------------------------------OPC xopMRSrc(){ return 1;}OPC xopMRSrs(){ return 1;}OPC xopMSRrc(){ return 1;}OPC xopMSRrs(){ return 1;}OPC xopMSRic(){ return 1;}OPC xopMSRis(){ return 1;}//---Swap between registers and memory-------------------------------------OPC xopSWP(){ return 1;}OPC xopSWPB(){ return 1;}#endif/*** EOF: arm-dp.cpp *****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -