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

📄 opcode.c

📁 Intel x86处理器的汇编器
💻 C
📖 第 1 页 / 共 5 页
字号:
	{ 0, 0, GPR|rSI|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE|FS_32, 0x46 },

	/* INC eDI */
	{ 0, 0, GPR|rDI|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE|FS_32, 0x47 },

	/******************* GROUP ************************/
	/* INC Eb */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE8, 
		I_GPI|GROUP|GROUPID(0)|FS_8, 0xfe },

	/* INC Ev */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|0x0e, 
		I_GPI|GROUP|GROUPID(0), 0xff },


	{ 0, 0, 0, 0, 0 }
};


i_key_t DEC[] = {
	/* DEC eAX */
	{ 0, 0, GPR|rAX|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x48 },

	/* DEC eCX */
	{ 0, 0, GPR|rCX|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x49 },

	/* DEC eDX */
	{ 0, 0, GPR|rDX|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4a },

	/* DEC eBX */
	{ 0, 0, GPR|rBX|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4b },

	/* DEC eSP */	
	{ 0, 0, GPR|rSP|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4c },

	/* DEC eBP */
	{ 0, 0, GPR|rBP|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4d },

	/* DEC eSI */
	{ 0, 0, GPR|rSI|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4e },

	/* DEC eDI */
	{ 0, 0, GPR|rDI|0x06,
		I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x4f },

	/******************* GROUP *******************/
	/* DEC Eb */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE8, 
		I_GPI|GROUP|GROUPID(1)|FS_8, 0xfe },

	/* DEC Ev */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|0x0e, 
		I_GPI|GROUP|GROUPID(1), 0xff },


	{ 0, 0, 0, 0, 0 }
};



i_key_t PUSHA[] = {
	/* PUSHA */
	{ 0, 0, 0, I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x60 },
	
	{ 0, 0, 0, 0, 0 }
};


i_key_t PUSHD[] = {
	/* PUSHD */
	{ 0, 0, 0, I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x60 },

	/* PUSHD Fv */
	{ 0, 0, 0, I_GPI|NO_NEED_MODRM|ONLY_OPCODE, 0x9c },

	{ 0, 0, 0, 0, 0 }
};


i_key_t POPA[] = {
	/* POPA */
	{ 0, 0, 0, I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x61 },

	{ 0, 0, 0, 0, 0 }
};

i_key_t POPD[] = {
	/* POPD */
	{ 0, 0, 0, I_GPI|INVLD_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x61 },

	/* POPD Fv */
	{ 0, 0, 0, I_GPI|NO_NEED_MODRM|ONLY_OPCODE, 0x9d },

	{ 0, 0, 0, 0, 0 }
};


i_key_t BOUND[] = {		/***** keep it to reserved ******/
	/* BOUND Gv,Ma */
	{ 0, GPR|ALL_REGS|0x0e, MEM|MOFFSET|0x0e, I_GPI|INVLD_IN_64, 0x62 },

	{ 0, 0, 0, 0, 0 }
};

i_key_t ARPL[] = {
 	/* ARPL Ew,Gw */
	{ 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE16, GPR|ALL_REGS|SIZE16,
		I_GPI|INVLD_IN_64|FS_16, 0x63 },
};

i_key_t MOVSXD[] = {	
	/* valid only in 64-bit mode */
	/* MOVSXD Gv,Ed */
	{ 0, GPR|ALL_REGS|0x18, GPR|MEM|MOFFSET|ALL_REGS|SIZE32,
		I_GPI|ONLY_IN_64, 0x63 },

	{ 0, 0, 0, 0, 0 }
};

i_key_t IMUL[] = {
	/* IMUL Gv,Ev,Iz */
	{ GPR|ALL_REGS|0x0e, GPR|MEM|MOFFSET|ALL_REGS|0x0e,
		IMME|0x0e, I_GPI, 0x69 },

	/* IMUL Gv,Ev,Ib */
	{ GPR|ALL_REGS|0x0e, GPR|MEM|MOFFSET|ALL_REGS|0x0e,
		IMME|SIZE8, I_GPI, 0x6b },

	/********  GROUP   **************/
	/* IMUL Eb */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE8, 
		I_GPI|GROUP|GROUPID(5)|FS_8, 0xf6 },

	/* IMUL Ev */
	{ 0, 0, GPR|MEM|MOFFSET|ALL_REGS|0x0e,
		I_GPI|GROUP|GROUPID(5), 0xf7 },		


	/**************** two byte opcode ***************/
	/* IMUL Gv, Ev */
	{ 0, GPR|ALL_REGS|0x0e, GPR|MEM|MOFFSET|ALL_REGS|0x0e,
		I_GPI, 0x0faf },


	{ 0, 0, 0, 0, 0 }	
}; 


i_key_t INSB[] = {
	/* INSB Yb,DX */
	{ 0, 0, 0, I_GPI|FS_8|NO_NEED_MODRM|ONLY_OPCODE, 0x6c },

	{ 0, 0, 0, 0, 0 }
};

i_key_t INSW[] = {
	/* INSW Yz,DX */
	{ 0, 0, 0, I_GPI|FS_16|NO_NEED_MODRM|ONLY_OPCODE, 0x6d },

	{ 0, 0, 0, 0, 0 }

};

i_key_t INSD[] = {
	/* INSD Yz,DX */
	{ 0, 0, 0, I_GPI|FS_32|ONLY_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x6d },

	{ 0, 0, 0, 0, 0 }
};

i_key_t OUTSB[] = {
	/* OUTSB DX,Xb */
	{ 0, 0, 0, I_GPI|FS_8|NO_NEED_MODRM|ONLY_OPCODE, 0x6e }, 

	{ 0, 0, 0, 0, 0 }
};

i_key_t OUTSW[] = {
	/* OUTSW DX,Xz */
	{ 0, 0, 0, I_GPI|FS_16|NO_NEED_MODRM|ONLY_OPCODE, 0x6f },

	{ 0, 0, 0, 0, 0 }
};

i_key_t OUTSD[] = {
 	/* OUTSD DX,Xz */
	{ 0, 0, 0, I_GPI|FS_32|ONLY_IN_64|NO_NEED_MODRM|ONLY_OPCODE, 0x6f },

	{ 0, 0, 0, 0, 0 }
};



i_key_t JO[] = {
	/* JO Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x70 },


	/***************** two byte opcode ****************/

	/* JO Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f80 },	


	{ 0, 0, 0, 0, 0 }
};


i_key_t JNO[] = {
	/* JNO Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x71 },

	/***************** two byte opcode ****************/

	/* JNO Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f81 },	

	{ 0, 0, 0, 0, 0 }
};


i_key_t JB[] = {
	/* JB Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x72 },

	/***************** two byte opcode ****************/

	/* JB Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f82 },	

	{ 0, 0, 0, 0, 0 }

};


i_key_t JNB[] = {
	/* JNB Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x73 },

	/***************** two byte opcode ****************/

	/* JNB Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f83 },	

	{ 0, 0, 0, 0, 0 }

};

i_key_t JZ[] = {
	/* JZ Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x74 },

	/***************** two byte opcode ****************/

	/* JZ Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f84 },	

	{ 0, 0, 0, 0, 0 }
};


i_key_t JNZ[] = {
	/* JNZ Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x75 },

	/***************** two byte opcode ****************/

	/* JNZ Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f85 },	

	{ 0, 0, 0, 0, 0 }
};


i_key_t JBE[] = {
	/* JBE Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x76 },

	/***************** two byte opcode ****************/

	/* JBE Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f86 },	

	{ 0, 0, 0, 0, 0 }
};


i_key_t JNBE[] = {
	/* JNBE Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x77 },

	/***************** two byte opcode ****************/

	/* JNBE Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f87 },	

	{ 0, 0, 0, 0, 0 }
};


i_key_t JS[] = {
	/* JS Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x78 },

	/************ two byte opcode **************/
	/* JS Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f88 },		

	{ 0, 0, 0, 0, 0 }
};


i_key_t JNS[] = {
	/* JNS Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x79 },

	/************ two byte opcode **************/
	/* JNS Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f89 },		

	{ 0, 0, 0, 0, 0 }
};



i_key_t JP[] = {
	/* JP Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7a },

	/************ two byte opcode **************/
	/* JP Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8a },		

	{ 0, 0, 0, 0, 0 }

};


i_key_t JNP[] = {
	/* JNP Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7b },

	/************ two byte opcode **************/
	/* JNP Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8b },		

	{ 0, 0, 0, 0, 0 }

};

i_key_t JL[] = {
	/* JL Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7c },

	/************ two byte opcode **************/
	/* JL Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8c },		

	{ 0, 0, 0, 0, 0 }
};

i_key_t JNL[] = {
	/* JNL Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7d },

	/************ two byte opcode **************/
	/* JNL Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8d },		

	{ 0, 0, 0, 0, 0 }
};

i_key_t JLE[] = {
	/* JLE Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7e },

	/************ two byte opcode **************/
	/* JLE Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8e },		

	{ 0, 0, 0, 0, 0 }
};

i_key_t JNLE[] = {
	/* JNLE Jb */
	{ 0, 0, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0x7f },

	/************ two byte opcode **************/
	/* JNLE Jz */
	{ 0, 0, IMME|0x0e, I_GPI|NO_NEED_MODRM|FS_IN_BITS, 0x0f8f },		

	{ 0, 0, 0, 0, 0 }
};

i_key_t TEST[] = {
	/* TEST Eb, Gb */
	{ 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE8, GPR|ALL_REGS|SIZE8,
		I_GPI|FS_8, 0x84 },

	/* TEST Ev, Gv */	
	{ 0, GPR|MEM|MOFFSET|ALL_REGS|0x0e, GPR|ALL_REGS|0x0e, I_GPI, 0x85 },
		
	/* TEST AL,Ib */
	{ 0, GPR|rAX|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xa8 },

	/* TEST rAx,Iz */
	{ 0, GPR|rAX|0x0e, IMME|0x0f, I_GPI|NO_NEED_MODRM, 0xa9 },

	/*************** GROUP ******************/

	/* TEST Eb, Ib */
	{ 0, GPR|MEM|MOFFSET|0x7f000000|SIZE8, IMME|SIZE8,
		I_GPI|GROUP|GROUPID(0)|FS_8, 0xf6 },
	{ 0, GPR|MEM|MOFFSET|0x7f000000|SIZE8, IMME|SIZE8,
		I_GPI|GROUP|GROUPID(1)|FS_8, 0xf6 },

	/* TEST Ev, Iz */
	{ 0, GPR|MEM|MOFFSET|0x7f000000|0x0e, IMME|0x0f,
		I_GPI|GROUP|GROUPID(0), 0xf7 },
	{ 0, GPR|MEM|MOFFSET|0x7f000000|0x0e, IMME|0x0f,
		I_GPI|GROUP|GROUPID(1), 0xf7 },


	{ 0, 0, 0, 0, 0 }
};


i_key_t XCHG[] = {
	/* XCHG Eb,Gb */
	{ 0, GPR|MEM|MOFFSET|ALL_REGS|SIZE8, GPR|ALL_REGS|SIZE8,
		I_GPI|FS_8, 0x86 },

	/* XCHG	Ev,Gv */
	/* but not include "XCHG rAX, GPRs" and "XCHG GPRs, rAX" */
	{ 0, GPR|0x70000000|MEM|MOFFSET|0x0e, 
		GPR|0x70000000|0x0e, I_GPI, 0x87 },
/**********************************************************
* TODO: reserved for "xchg rax, GPRs" and "xchg GPRs, rax"
***********************************************************/

	/* r8,rAX */
	{ 0, GPR|rAX|0x0e, GPR|rAX|0x0e, I_GPI|NO_NEED_MODRM, 0x90 },

	/* rCX/r9,rAX */
	{ 0, GPR|rAX|rCX|0x0e, GPR|rAX|rCX|0x0e, I_GPI|NO_NEED_MODRM, 0x91 },

	/* rDX/r10,rAX */
	{ 0, GPR|rAX|rDX|0x0e, GPR|rAX|rDX|0x0e, I_GPI|NO_NEED_MODRM, 0x92 },

	/* rBX/r11,rAX */
	{ 0, GPR|rAX|rBX|0x0e, GPR|rAX|rBX|0x0e, I_GPI|NO_NEED_MODRM, 0x93 },

	/* rSP/r12,rAX */
	{ 0, GPR|rAX|rSP|0x0e, GPR|rAX|rSP|0x0e, I_GPI|NO_NEED_MODRM, 0x94 },

	/* rBP/r13,rAX */
	{ 0, GPR|rAX|rBP|0x0e, GPR|rAX|rBP|0x0e, I_GPI|NO_NEED_MODRM, 0x95 },

	/* rSI/r14,rAX */
	{ 0, GPR|rAX|rSI|0x0e, GPR|rAX|rSI|0x0e, I_GPI|NO_NEED_MODRM, 0x96 },

	/* rDI/r15,rAX */ 
	{ 0, GPR|rAX|rDI|0x0e, GPR|rAX|rDI|0x0e, I_GPI|NO_NEED_MODRM, 0x97 },

	{ 0, 0, 0, 0, 0 }
};



i_key_t MOV[] = {
	/* MOV Eb,Gb */ 
	/* but it's not MOV ob, AL */
	{ 0, GPR|MEM|ALL_REGS|SIZE8, GPR|ALL_REGS|SIZE8,
		I_GPI|FS_8, 0x88 },
	{ 0, MOFFSET|SIZE8, GPR|0x7f000000|SIZE8, I_GPI|FS_8, 0x88 },

	/* MOV Ev,Gv */
	/* but it's not MOV Ov, rAX */
	{ 0, GPR|MEM|ALL_REGS|0x0e, GPR|ALL_REGS|0x0e, I_GPI, 0x89 },
	{ 0, MOFFSET|0x0e, GPR|0x7f000000|0x0e, I_GPI, 0x89 },

	/* MOV Gb,Eb */
	/* but it's not MOV al, ob */
	{ 0, GPR|ALL_REGS|SIZE8, MEM|SIZE8, I_GPI|FS_8, 0x8a },
	{ 0, GPR|0x7f000000|SIZE8, MOFFSET|SIZE8, I_GPI|FS_8, 0x8a },

	/* MOV Gv,Ev */
	/* but it's no MOV rAx, Ov */
	{ 0, GPR|ALL_REGS|0x0e, MEM|0x0e, I_GPI, 0x8b },
	{ 0, GPR|0x7f000000|0x0e, MOFFSET|0x0e, I_GPI, 0x8b },

	/* MOV Mw/Rv,Sw */
	{ 0, MEM|MOFFSET|SIZE16, SREG|0xfc000000|SIZE16,	
		I_GPI|FS_16|NO_CAST_SIZE, 0x8c },
	{ 0, GPR|ALL_REGS|0x0e, SREG|0xfc000000|SIZE16, 
		I_GPI|DEST_EXTEND, 0x8c },
		

	/* MOV Sw,Ew */
	{ 0, SREG|0xfc000000|SIZE16, GPR|MEM|MOFFSET|ALL_REGS|SIZE16, 
		I_GPI|FS_16|NO_CAST, 0x8e },

	/* MOV AL,Ob */
	{ 0, GPR|rAX|SIZE8, MOFFSET|SIZE8, 
		I_GPI|NO_NEED_MODRM|FS_8, 0xa0},

	/* MOV rAX,Ov */
	{ 0, GPR|rAX|0x0e, MOFFSET|0x0e, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xa1 },

	/* MOV Ob,AL */
	{ 0, MOFFSET|SIZE8, GPR|rAX|SIZE8, 
		I_GPI|NO_NEED_MODRM|FS_8, 0xa2 },

	/* MOV Ov,rAX */
	{ 0, MOFFSET|0x0e, GPR|rAX|0x0e, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xa3 },


	/* MOV AL/r8b,Ib */
	{ 0,  GPR|rAX|SIZE8, IMME|SIZE8, 
		I_GPI|NO_NEED_MODRM|FS_8, 0xb0 },

	/* MOV CL/r9b,Ib */
	{ 0, GPR|rCX|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb1 },

	/* MOV DL/r10b,Ib */
	{ 0, GPR|rDX|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb2 },
	
	/* MOV BL/r11b,Ib */
	{ 0, GPR|rBX|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb3 },

	/* MOV AH/r12b/spl,Ib */
	{ 0, GPR|rSP|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb4 },

	/* MOV CH/r13b/bpl,Ib */ 
	{ 0, GPR|rBP|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb5 },

	/* MOV DH/r14b/sil,Ib */
	{ 0, GPR|rSI|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb6 },

	/* MOV BH/r15b/dil,Ib */
	{ 0, GPR|rDI|SIZE8, IMME|SIZE8, I_GPI|NO_NEED_MODRM|FS_8, 0xb7 },

	/* MOV rAX/r8,Iv */
	{ 0, GPR|rAX|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xb8 },

	/* MOV rCX/r9,Iv */
	{ 0, GPR|rCX|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xb9 },

	/* MOV rDX/r10,Iv */
	{ 0, GPR|rDX|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64,0xba },

	/* MOV rBX/r11,Iv */	
	{ 0, GPR|rBX|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xbb },

	/* MOV rSP/r12,Iv */
	{ 0, GPR|rSP|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xbc },

	/* MOV rBP/r13,Iv */
	{ 0, GPR|rBP|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xbd },

	/* MOV rSI/r14,Iv */
	{ 0, GPR|rSI|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xbe },

	/* MOV rDI/r15,Iv */
	{ 0, GPR|rDI|0x0e, IMME|0x0f, 
		I_GPI|NO_NEED_MODRM|SUPPORT_VALUE64, 0xbf },


	/***************** GROUP *******************/
	/* MOV Eb, Ib */
	{ 0, MEM|MOFFSET|SIZE8, IMME|SIZE8, 
		I_GPI|GROUP|GROUPID(0)|FS_8, 0xc6 },

	/* MOV Ev, Iz */
	{ 0, MEM|MOFFSET|0x0e, IMME|0x0f, 
		I_GPI|GROUP|GROUPID(0), 0xc7 },


	/**************** two byte opcode **************/
	/* MOV Rd, Cd */
	{ 0, GPR|ALL_REGS|SIZE32, CREG|ALL_REGS|SIZE32, I_GPI|FS_32, 0x0f20 },
	/* MOV Rq, Cq */
	{ 0, GPR|ALL_REGS|SIZE64, CREG|ALL_REGS|SIZE64, I_GPI|FS_64, 0x0f20 },

	
	/* MOV Rd, Dd */
	{ 0, GPR|ALL_REGS|SIZE32, DREG|ALL_REGS|SIZE32, I_GPI|FS_32, 0x0f21 },
	/* MOV Rq, Dq */
	{ 0, GPR|ALL_REGS|SIZE64, DREG|ALL_REGS|SIZE64, I_GPI|FS_64, 0x0f21 },

		
	/* MOV Cd, Rd */
	{ 0, CREG|ALL_REGS|SIZE32, GPR|ALL_REGS|SIZE32, I_GPI|FS_32, 0x0f22 },
	/* MOV Cq, Rq */
	{ 0, CREG|ALL_REGS|SIZE64, GPR|ALL_REGS|SIZE64, I_GPI|FS_64, 0x0f22 },	

⌨️ 快捷键说明

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