www.pudn.com > ASM86_64.rar > opcode.h
#ifndef OPCODE_H_ #define OPCODE_H_ /* * opcodes.h * * author: Mik * * 11/12/2005 */ #include "i_attribute.h" /*** control transfer instruct set ***/ i_set_t i_transfer[41]; /* operate string instruction */ /**************** x86-64 instruction set ***************/ i_set_t i_set[222]; i_key_t ADD[11]; i_key_t PUSH[18]; i_key_t POP[15]; i_key_t OR[11]; i_key_t ADC[11]; i_key_t SBB[11]; i_key_t AND[11]; i_key_t DAA[2]; i_key_t SUB[11]; i_key_t DAS[2]; i_key_t XOR[11]; i_key_t AAA[2]; i_key_t CMP[11]; i_key_t AAS[2]; i_key_t INC[11]; i_key_t DEC[11]; i_key_t PUSHA[2]; i_key_t POPA[2]; i_key_t BOUND[2]; i_key_t ARPL[2]; i_key_t MOVSXD[2]; i_key_t IMUL[6]; i_key_t INSB[2]; i_key_t INSW[2]; i_key_t INSD[2]; i_key_t OUTSB[2]; i_key_t OUTSW[2]; i_key_t OUTSD[2]; i_key_t JO[3]; i_key_t JNO[3]; i_key_t JB[3]; i_key_t JNB[3]; i_key_t JZ[3]; i_key_t JNZ[3]; i_key_t JBE[3]; i_key_t JNBE[3]; i_key_t JS[3]; i_key_t JNS[3]; i_key_t JP[3]; i_key_t JNP[3]; i_key_t JL[3]; i_key_t JNL[3]; i_key_t JLE[3]; i_key_t JNLE[3]; i_key_t TEST[9]; i_key_t XCHG[11]; i_key_t MOV[42]; i_key_t LEA[2]; i_key_t NOP[2]; i_key_t CBW[2]; i_key_t CWDE[2]; i_key_t CDQE[2]; i_key_t CWD[2]; i_key_t CDQ[2]; i_key_t CQO[2]; i_key_t CALL[5]; i_key_t WAIT[2]; i_key_t FWAIT[2]; i_key_t PUSHF[2]; i_key_t PUSHD[3]; i_key_t PUSHQ[2]; i_key_t POPF[2]; i_key_t POPD[3]; i_key_t POPQ[2]; i_key_t SAHF[2]; i_key_t LAHF[2]; i_key_t MOVSB[2]; i_key_t MOVSW[2]; i_key_t MOVSD[2]; i_key_t MOVSQ[2]; i_key_t CMPSB[2]; i_key_t CMPSW[2]; i_key_t CMPSD[2]; i_key_t CMPSQ[2]; i_key_t STOSB[2]; i_key_t STOSW[2]; i_key_t STOSD[2]; i_key_t STOSQ[2]; i_key_t LODSB[2]; i_key_t LODSW[2]; i_key_t LODSD[2]; i_key_t LODSQ[2]; i_key_t SCASB[2]; i_key_t SCASW[2]; i_key_t SCASD[2]; i_key_t SCASQ[2]; i_key_t RET[5]; i_key_t LES[2]; i_key_t LGS[2]; i_key_t ENTER[2]; i_key_t LEAVE[2]; i_key_t INT3[2]; i_key_t INTN[2]; i_key_t INTO[2]; i_key_t IRET[2]; i_key_t IRETD[2]; i_key_t IRETQ[2]; i_key_t LOOPNZ[2]; i_key_t LOOPZ[2]; i_key_t LOOP[2]; i_key_t JCXZ[2]; i_key_t JECXZ[2]; i_key_t JRCXZ[2]; i_key_t IN[5]; i_key_t OUT[5]; i_key_t JMP[6]; i_key_t INT1[2]; i_key_t HLT[2]; i_key_t CMC[2]; i_key_t CLC[2]; i_key_t STC[2]; i_key_t CLI[2]; i_key_t STI[2]; i_key_t CLD[2]; i_key_t STD[2]; i_key_t ROL[7]; i_key_t ROR[7]; i_key_t RCL[7]; i_key_t RCR[7]; i_key_t SHL[13]; i_key_t *SAL; i_key_t SHR[7]; i_key_t SAR[7]; i_key_t NOT[3]; i_key_t NEG[3]; i_key_t MUL[3]; i_key_t DIV[3]; i_key_t IDIV[3]; i_key_t SLDT[2]; i_key_t STR[2]; i_key_t LLDT[2]; i_key_t LTR[2]; i_key_t VERR[2]; i_key_t VERW[2]; i_key_t SGDT[2]; i_key_t SIDT[2]; i_key_t LGDT[2]; i_key_t LIDT[2]; i_key_t SMSW[2]; i_key_t LMSW[2]; i_key_t INVLPG[2]; i_key_t SWAPGS[2]; i_key_t LFENCE[2]; i_key_t MFENCE[2]; i_key_t SFENCE[2]; i_key_t BT[3]; i_key_t SHLD[3]; i_key_t BTS[3]; i_key_t BTR[3]; i_key_t BTC[3]; i_key_t CPUID[2]; i_key_t SETO[2]; i_key_t SETNO[2]; i_key_t SETB[2]; i_key_t SETNB[2]; i_key_t SETZ[2]; i_key_t SETNZ[2]; i_key_t SETBE[2]; i_key_t SETNBE[2]; i_key_t MOVZX[3]; i_key_t SETS[2]; i_key_t SETNS[2]; i_key_t SETP[2]; i_key_t SETNP[2]; i_key_t SETL[2]; i_key_t SETNL[2]; i_key_t SETLE[2]; i_key_t SETNLE[2]; i_key_t RSM[2]; i_key_t SHRD[3]; i_key_t BSF[2]; i_key_t BSR[2]; i_key_t MOVSX[3]; i_key_t LAR[2]; i_key_t LAL[2]; i_key_t SYSCALL[2]; i_key_t CLTS[2]; i_key_t SYSRET[2]; i_key_t WRMSR[2]; i_key_t RDTSC[2]; i_key_t RDMSR[2]; i_key_t RDPMC[2]; i_key_t SYSENTER[2]; i_key_t SYSEXIT[2]; i_key_t CMOVO[2]; i_key_t CMOVNO[2]; i_key_t CMOVB[2]; i_key_t CMOVNB[2]; i_key_t CMOVZ[2]; i_key_t CMOVNZ[2]; i_key_t CMOVBE[2]; i_key_t CMOVNBE[2]; i_key_t CMOVS[2]; i_key_t CMOVNS[2]; i_key_t CMOVP[2]; i_key_t CMOVNP[2]; i_key_t CMOVL[2]; i_key_t CMOVNL[2]; i_key_t CMOVLE[2]; i_key_t CMOVNLE[2]; i_key_t LSS[2]; i_key_t LFS[2]; i_key_t LGS[2]; i_key_t CMPXCHG[3]; i_key_t XADD[3]; i_key_t BSWAP[9]; i_key_t AAM[2]; i_key_t AAD[2]; i_key_t SALC[2]; i_key_t XLAT[2]; #endif