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.