Opcode

在计算机领域，操作码（opcode，来源于 operation code 的缩写 (xii+100 pages)），是机器语言指令中用于指定要执行操作的部分。除了操作码本身，大多数指令还会通过操作数（operand）的形式指定它们将要处理的数据。opcode是中央处理器（CPU）及算術邏輯單元（ALU）指令集架构中的操作码，但兩者處理方式不同。算術邏輯單元會將opcode匯入到其電路中，而中央处理器的opcode是其要執行机器语言的一部份。

CPU裡的opcode
在CPU的機器語言指令中可以看到opcode，也在抽象计算机中作为字节码规范的一部分使用。
也称为指令机器码（instruction machine code）、指令码（instruction code）、指令字节（instruction syllable）、指令段（instruction parcel）或操作字符串（opstring）。針對特定的處理器（可能是一般通用的中央處理器，或是特定的處理單元），其opcode是由處理器的指令集架構 （ISA）所定義
，可以用來說明。指令可能包括算术、資料複製、逻辑运算符、流程控制、以及特殊的指令（例如CPUID）。

機器語言指令除了opcode外，也會標示需處理的資料（稱為operand），不過有些指令可能有隱藏的operand，也可能沒有operand。有些指令集有一致的opcode和operand標示方式，而有些指令集（例如x86架構）則有較不一致，長度不同的指令。

相關條目
gadgets：返回导向编程中，一種ret 結尾的機器指令序列。

參考資料

Category:机器码