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