Opcode
機器指令的一部分 来自维基百科,自由的百科全书
在计算机领域,操作码(opcode,来源于 operation code 的缩写[1][2]),是机器语言指令中用于指定要执行操作的部分。除了操作码本身,大多数指令还会通过操作数(operand)的形式指定它们将要处理的数据。opcode是中央处理器(CPU)及算术逻辑单元(ALU)指令集架构中的操作码,但两者处理方式不同。算术逻辑单元会将opcode汇入到其电路中,,而中央处理器的opcode是其要执行机器语言的一部份。
CPU里的opcode
在CPU的机器语言指令中可以看到opcode,也在抽象计算机中作为字节码规范的一部分使用。 也称为指令机器码(instruction machine code)、指令码(instruction code)、指令字节(instruction syllable)、指令段(instruction parcel)或操作字符串(opstring)。针对特定的处理器(可能是一般通用的中央处理器,或是特定的处理单元),其opcode是由处理器的指令集架构 (ISA)所定义[3] ,可以用opcode表来说明。指令可能包括算术、资料复制、逻辑运算符、流程控制、以及特殊的指令(例如CPUID)[3]。
机器语言指令除了opcode外,也会标示需处理的资料(称为operand),不过有些指令可能有隐藏的operand,也可能没有operand[3]。有些指令集有一致的opcode和operand标示方式,而有些指令集(例如x86架构)则有较不一致,长度不同的指令[3][4]。
相关条目
- gadgets:返回导向编程中,一种ret 结尾的机器指令序列。
- Illegal opcode
参考资料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.