名稱 |
說明 |
Add |
將兩個值相加並將結果推送到計算堆棧上。 |
Add.Ovf |
將兩個整數相加,執行溢出檢查,並且將結果推送到計算堆棧上。 |
Add.Ovf.Un |
將兩個不帶正負號的整數值相加,執行溢出檢查,並且將結果推送到計算堆棧上。 |
And |
計算兩個值的按位“與”並將結果推送到計算堆棧上。 |
Arglist |
返回指向當前方法的參數列表的非託管指標。 |
Beq |
如果兩個值相等,則將控制轉移到目標指令。 |
Beq.S |
如果兩個值相等,則將控制轉移到目標指令(短格式)。 |
Bge |
如果第一個值大於或等於第二個值,則將控制轉移到目標指令。 |
Bge.S |
如果第一個值大於或等於第二個值,則將控制轉移到目標指令(短格式)。 |
Bge.Un |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令。 |
Bge.Un.S |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。 |
Bgt |
如果第一個值大於第二個值,則將控制轉移到目標指令。 |
Bgt.S |
如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。 |
Bgt.Un |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令。 |
Bgt.Un.S |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。 |
Ble |
如果第一個值小於或等於第二個值,則將控制轉移到目標指令。 |
Ble.S |
如果第一個值小於或等於第二個值,則將控制轉移到目標指令(短格式)。 |
Ble.Un |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於或等於第二個值,則將控制轉移到目標指令。 |
Ble.Un.S |
當比較不帶正負號的整數值或不可排序的浮點值時,如果第一個值小於或等於第二個值,則將控制權轉移到目標指令(短格式)。 |
Blt |
如果第一個值小於第二個值,則將控制轉移到目標指令。 |
Blt.S |
如果第一個值小於第二個值,則將控制轉移到目標指令(短格式)。 |
Blt.Un |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於第二個值,則將控制轉移到目標指令。 |
Blt.Un.S |
當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於第二個值,則將控制轉移到目標指令(短格式)。 |
Bne.Un |
當兩個不帶正負號的整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令。 |
Bne.Un.S |
當兩個不帶正負號的整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令(短格式)。 |
Box |
將值類轉換為對象引用(O 類型)。 |
Br |
無條件地將控制轉移到目標指令。 |
Br.S |
無條件地將控制轉移到目標指令(短格式)。 |
Break |
向公用語言結構 (CLI) 發出訊號以通知調試器已撞上了一個斷點。 |
Brfalse |
如果 value 為 false、Null 參考(Visual Basic 中的 Nothing)或零,則將控制轉移到目標指令。 |
Brfalse.S |
如果 value 為 false、Null 參考或零,則將控制轉移到目標指令。 |
Brtrue |
如果 value 為 true、非空或非零,則將控制轉移到目標指令。 |
Brtrue.S |
如果 value 為 true、非空或非零,則將控制轉移到目標指令(短格式)。 |
Call |
調用由傳遞的方法說明符指示的方法。 |
Calli |
通過呼叫慣例描述的參數調用在計算堆棧上指示的方法(作為指向進入點的指標)。 |
Callvirt |
對對象調用後期Binder 方法,並且將傳回值推送到計算堆棧上。 |
Castclass |
嘗試將引用傳遞的對象轉換為指定的類。 |
Ceq |
比較兩個值。如果這兩個值相等,則將整數值 1 (int32) 推送到計算堆棧上;否則,將 0 (int32) 推送到計算堆棧上。 |
Cgt |
比較兩個值。如果第一個值大於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
Cgt.Un |
比較兩個無符號的或不可排序的值。如果第一個值大於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
Ckfinite |
如果值不是有限數,則引發 ArithmeticException。 |
Clt |
比較兩個值。如果第一個值小於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
Clt.Un |
比較無符號的或不可排序的值 value1 和 value2。如果 value1 小於 value2,則將整數值 1 (int32 ) 推送到計算堆棧上;反之,將 0 ( int32 ) 推送到計算堆棧上。 |
Constrained |
約束要對其進行虛方法調用的類型。 |
Conv.I |
將位於計算堆棧頂部的值轉換為 native int。 |
Conv.I1 |
將位於計算堆棧頂部的值轉換為 int8,然後將其擴充(填充)為 int32。 |
Conv.I2 |
將位於計算堆棧頂部的值轉換為 int16,然後將其擴充(填充)為 int32。 |
Conv.I4 |
將位於計算堆棧頂部的值轉換為 int32。 |
Conv.I8 |
將位於計算堆棧頂部的值轉換為 int64。 |
Conv.Ovf.I |
將位於計算堆棧頂部的有符號值轉換為有符號 native int,並在溢出時引發 OverflowException。 |
Conv.Ovf.I.Un |
將位於計算堆棧頂部的無符號值轉換為有符號 native int,並在溢出時引發 OverflowException。 |
Conv.Ovf.I1 |
將位於計算堆棧頂部的有符號值轉換為有符號 int8 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I1.Un |
將位於計算堆棧頂部的無符號值轉換為有符號 int8 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I2 |
將位於計算堆棧頂部的有符號值轉換為有符號 int16 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I2.Un |
將位於計算堆棧頂部的無符號值轉換為有符號 int16 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I4 |
將位於計算堆棧頂部的有符號值轉換為有符號 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I4.Un |
將位於計算堆棧頂部的無符號值轉換為有符號 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.I8 |
將位於計算堆棧頂部的有符號值轉換為有符號 int64,並在溢出時引發 OverflowException。 |
Conv.Ovf.I8.Un |
將位於計算堆棧頂部的無符號值轉換為有符號 int64,並在溢出時引發 OverflowException。 |
Conv.Ovf.U |
將位於計算堆棧頂部的有符號值轉換為 unsigned native int,並在溢出時引發 OverflowException。 |
Conv.Ovf.U.Un |
將位於計算堆棧頂部的無符號值轉換為 unsigned native int,並在溢出時引發 OverflowException。 |
Conv.Ovf.U1 |
將位於計算堆棧頂部的有符號值轉換為 unsigned int8 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U1.Un |
將位於計算堆棧頂部的無符號值轉換為 unsigned int8 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U2 |
將位於計算堆棧頂部的有符號值轉換為 unsigned int16 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U2.Un |
將位於計算堆棧頂部的無符號值轉換為 unsigned int16 並將其擴充為 int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U4 |
將位於計算堆棧頂部的有符號值轉換為 unsigned int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U4.Un |
將位於計算堆棧頂部的無符號值轉換為 unsigned int32,並在溢出時引發 OverflowException。 |
Conv.Ovf.U8 |
將位於計算堆棧頂部的有符號值轉換為 unsigned int64,並在溢出時引發 OverflowException。 |
Conv.Ovf.U8.Un |
將位於計算堆棧頂部的無符號值轉換為 unsigned int64,並在溢出時引發 OverflowException。 |
Conv.R.Un |
將位於計算堆棧頂部的不帶正負號的整數值轉換為 float32。 |
Conv.R4 |
將位於計算堆棧頂部的值轉換為 float32。 |
Conv.R8 |
將位於計算堆棧頂部的值轉換為 float64。 |
Conv.U |
將位於計算堆棧頂部的值轉換為 unsigned native int,然後將其擴充為 native int。 |
Conv.U1 |
將位於計算堆棧頂部的值轉換為 unsigned int8,然後將其擴充為 int32。 |
Conv.U2 |
將位於計算堆棧頂部的值轉換為 unsigned int16,然後將其擴充為 int32。 |
Conv.U4 |
將位於計算堆棧頂部的值轉換為 unsigned int32,然後將其擴充為 int32。 |
Conv.U8 |
將位於計算堆棧頂部的值轉換為 unsigned int64,然後將其擴充為 int64。 |
Cpblk |
將指定數目的位元組從源地址複製到目標地址。 |
Cpobj |
將位於對象(&、* 或 native int 類型)地址的實值型別複製到目標對象(&、* 或 native int 類型)的地址。 |
p |
將兩個值相除並將結果作為浮點(F 類型)或商(int32 類型)推送到計算堆棧上。 |
p.Un |
兩個不帶正負號的整數值相除並將結果 ( int32 ) 推送到計算堆棧上。 |
Dup |
複製計算堆棧上當前最頂端的值,然後將副本推送到計算堆棧上。 |
Endfilter |
將控制從異常的 filter 子句轉移回公用語言結構 (CLI) 例外處理常式。 |
Endfinally |
將控制從異常塊的 fault 或 finally 子句轉移回公用語言結構 (CLI) 例外處理常式。 |
Initblk |
將位於特定地址的記憶體的指定塊初始化為給定大小和初始值。 |
Initobj |
將位於指定地址的實值型別的每個欄位初始化為空白引用或適當的基元類型的 0。 |
Isinst |
測試對象引用(O 類型)是否為特定類的執行個體。 |
Jmp |
退出當前方法並跳至指定方法。 |
Ldarg |
將參數(由指定索引值引用)載入到堆棧上。 |
Ldarg.0 |
將索引為 0 的參數載入到計算堆棧上。 |
Ldarg.1 |
將索引為 1 的參數載入到計算堆棧上。 |
Ldarg.2 |
將索引為 2 的參數載入到計算堆棧上。 |
Ldarg.3 |
將索引為 3 的參數載入到計算堆棧上。 |
Ldarg.S |
將參數(由指定的短格式索引引用)載入到計算堆棧上。 |
Ldarga |
將參數地址載入到計算堆棧上。 |
Ldarga.S |
以短格式將參數地址載入到計算堆棧上。 |
Ldc.I4 |
將所提供的 int32 類型的值作為 int32 推送到計算堆棧上。 |
Ldc.I4.0 |
將整數值 0 作為 int32 推送到計算堆棧上。 |
Ldc.I4.1 |
將整數值 1 作為 int32 推送到計算堆棧上。 |
Ldc.I4.2 |
將整數值 2 作為 int32 推送到計算堆棧上。 |
Ldc.I4.3 |
將整數值 3 作為 int32 推送到計算堆棧上。 |
Ldc.I4.4 |
將整數值 4 作為 int32 推送到計算堆棧上。 |
Ldc.I4.5 |
將整數值 5 作為 int32 推送到計算堆棧上。 |
Ldc.I4.6 |
將整數值 6 作為 int32 推送到計算堆棧上。 |
Ldc.I4.7 |
將整數值 7 作為 int32 推送到計算堆棧上。 |
Ldc.I4.8 |
將整數值 8 作為 int32 推送到計算堆棧上。 |
Ldc.I4.M1 |
將整數值 -1 作為 int32 推送到計算堆棧上。 |
Ldc.I4.S |
將提供的 int8 值作為 int32 推送到計算堆棧上(短格式)。 |
Ldc.I8 |
將所提供的 int64 類型的值作為 int64 推送到計算堆棧上。 |
Ldc.R4 |
將所提供的 float32 類型的值作為 F (float) 類型推送到計算堆棧上。 |
Ldc.R8 |
將所提供的 float64 類型的值作為 F (float) 類型推送到計算堆棧上。 |
Ldelem |
按照指令中指定的類型,將指定數組索引中的元素載入到計算堆棧的頂部。 |
Ldelem.I |
將位於指定數組索引處的 native int 類型的元素作為 native int 載入到計算堆棧的頂部。 |
Ldelem.I1 |
將位於指定數組索引處的 int8 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelem.I2 |
將位於指定數組索引處的 int16 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelem.I4 |
將位於指定數組索引處的 int32 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelem.I8 |
將位於指定數組索引處的 int64 類型的元素作為 int64 載入到計算堆棧的頂部。 |
Ldelem.R4 |
將位於指定數組索引處的 float32 類型的元素作為 F 類型(浮點型)載入到計算堆棧的頂部。 |
Ldelem.R8 |
將位於指定數組索引處的 float64 類型的元素作為 F 類型(浮點型)載入到計算堆棧的頂部。 |
Ldelem.Ref |
將位於指定數組索引處的包含對象引用的元素作為 O 類型(對象引用)載入到計算堆棧的頂部。 |
Ldelem.U1 |
將位於指定數組索引處的 unsigned int8 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelem.U2 |
將位於指定數組索引處的 unsigned int16 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelem.U4 |
將位於指定數組索引處的 unsigned int32 類型的元素作為 int32 載入到計算堆棧的頂部。 |
Ldelema |
將位於指定數組索引的數組元素的地址作為 & 類型(託管指標)載入到計算堆棧的頂部。 |
Ldfld |
尋找對象中其引用當前位於計算堆棧的欄位的值。 |
Ldflda |
尋找對象中其引用當前位於計算堆棧的欄位的地址。 |
Ldftn |
將指向實現特定方法的機器碼的非託管指標(native int 類型)推送到計算堆棧上。 |
Ldind.I |
將 native int 類型的值作為 native int 間接載入到計算堆棧上。 |
Ldind.I1 |
將 int8 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldind.I2 |
將 int16 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldind.I4 |
將 int32 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldind.I8 |
將 int64 類型的值作為 int64 間接載入到計算堆棧上。 |
Ldind.R4 |
將 float32 類型的值作為 F (float) 類型間接載入到計算堆棧上。 |
Ldind.R8 |
將 float64 類型的值作為 F (float) 類型間接載入到計算堆棧上。 |
Ldind.Ref |
將對象引用作為 O(對象引用)類型間接載入到計算堆棧上。 |
Ldind.U1 |
將 unsigned int8 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldind.U2 |
將 unsigned int16 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldind.U4 |
將 unsigned int32 類型的值作為 int32 間接載入到計算堆棧上。 |
Ldlen |
將從零開始的、一維數組的元素的數目推送到計算堆棧上。 |
Ldloc |
將指定索引處的局部變數載入到計算堆棧上。 |
Ldloc.0 |
將索引 0 處的局部變數載入到計算堆棧上。 |
Ldloc.1 |
將索引 1 處的局部變數載入到計算堆棧上。 |
Ldloc.2 |
將索引 2 處的局部變數載入到計算堆棧上。 |
Ldloc.3 |
將索引 3 處的局部變數載入到計算堆棧上。 |
Ldloc.S |
將特定索引處的局部變數載入到計算堆棧上(短格式)。 |
Ldloca |
將位於特定索引處的局部變數的地址載入到計算堆棧上。 |
Ldloca.S |
將位於特定索引處的局部變數的地址載入到計算堆棧上(短格式)。 |
Ldnull |
將Null 參考(O 類型)推送到計算堆棧上。 |
Ldobj |
將地址指向的實值型別對象複製到計算堆棧的頂部。 |
Ldsfld |
將靜態欄位的值推送到計算堆棧上。 |
Ldsflda |
將靜態欄位的地址推送到計算堆棧上。 |
Ldstr |
推送對中繼資料中儲存的字串的新對象引用。 |
Ldtoken |
將中繼資料標記轉換為其運行時表示形式,並將其推送到計算堆棧上。 |
Ldvirtftn |
將指向實現與指定對象關聯的特定虛方法的機器碼的非託管指標(native int 類型)推送到計算堆棧上。 |
Leave |
退出受保護的代碼地區,無條件將控制轉移到特定目標指令。 |
Leave.S |
退出受保護的代碼地區,無條件將控制轉移到目標指令(縮寫形式)。 |
Localloc |
從本地動態記憶體池分配特定數目的位元組並將第一個分配的位元組的地址(瞬態指標,* 類型)推送到計算堆棧上。 |
Mkrefany |
將對特定類型執行個體的類型化引用推送到計算堆棧上。 |
Mul |
將兩個值相乘並將結果推送到計算堆棧上。 |
Mul.Ovf |
將兩個整數值相乘,執行溢出檢查,並將結果推送到計算堆棧上。 |
Mul.Ovf.Un |
將兩個不帶正負號的整數值相乘,執行溢出檢查,並將結果推送到計算堆棧上。 |
Neg |
對一個值執行求反並將結果推送到計算堆棧上。 |
Newarr |
將對新的從零開始的一維數組(其元素屬於特定類型)的對象引用推送到計算堆棧上。 |
Newobj |
建立一個實值型別的新對象或新執行個體,並將對象引用(O 類型)推送到計算堆棧上。 |
Nop |
如果修補作業碼,則填充空間。儘管可能消耗處理周期,但未執行任何有意義的操作。 |
Not |
計算堆棧頂部整數值的按位求補並將結果作為相同的類型推送到計算堆棧上。 |
Or |
計算位於堆棧頂部的兩個整數值的按位求補並將結果推送到計算堆棧上。 |
Pop |
移除當前位於計算堆棧頂部的值。 |
Prefix1 |
基礎結構。此指令為保留指令。 |
Prefix2 |
基礎結構。此指令為保留指令。 |
Prefix3 |
基礎結構。此指令為保留指令。 |
Prefix4 |
基礎結構。此指令為保留指令。 |
Prefix5 |
基礎結構。此指令為保留指令。 |
Prefix6 |
基礎結構。此指令為保留指令。 |
Prefix7 |
基礎結構。此指令為保留指令。 |
Prefixref |
基礎結構。此指令為保留指令。 |
Readonly |
指定後面的數組地址操作在運行時不執行類型檢查,並且返回可變性受限的託管指標。 |
Refanytype |
檢索嵌入在類型化引用內的類型標記。 |
Refanyval |
檢索嵌入在類型化引用內的地址(& 類型)。 |
Rem |
將兩個值相除並將餘數推送到計算堆棧上。 |
Rem.Un |
將兩個無符號值相除並將餘數推送到計算堆棧上。 |
Ret |
從當前方法返回,並將傳回值(如果存在)從調用方的計算堆棧推送到被呼叫者的計算堆棧上。 |
Rethrow |
再次引發當前異常。 |
Shl |
將整數值左移(用零填充)指定的位元,並將結果推送到計算堆棧上。 |
Shr |
將整數值右移(保留符號)指定的位元,並將結果推送到計算堆棧上。 |
Shr.Un |
將不帶正負號的整數值右移(用零填充)指定的位元,並將結果推送到計算堆棧上。 |
Sizeof |
將提供的實值型別的大小(以位元組為單位)推送到計算堆棧上。 |
Starg |
將位於計算堆棧頂部的值儲存到位於指定索引的參數槽中。 |
Starg.S |
將位於計算堆棧頂部的值儲存在參數槽中的指定索引處(短格式)。 |
Stelem |
用計算堆棧中的值替換給定索引處的數組元素,其類型在指令中指定。 |
Stelem.I |
用計算堆棧上的 native int 值替換給定索引處的數組元素。 |
Stelem.I1 |
用計算堆棧上的 int8 值替換給定索引處的數組元素。 |
Stelem.I2 |
用計算堆棧上的 int16 值替換給定索引處的數組元素。 |
Stelem.I4 |
用計算堆棧上的 int32 值替換給定索引處的數組元素。 |
Stelem.I8 |
用計算堆棧上的 int64 值替換給定索引處的數組元素。 |
Stelem.R4 |
用計算堆棧上的 float32 值替換給定索引處的數組元素。 |
Stelem.R8 |
用計算堆棧上的 float64 值替換給定索引處的數組元素。 |
Stelem.Ref |
用計算堆棧上的對象 ref 值(O 類型)替換給定索引處的數組元素。 |
Stfld |
用新值替換在對象引用或指標的欄位中儲存的值。 |
Stind.I |
在所提供的地址儲存 native int 類型的值。 |
Stind.I1 |
在所提供的地址儲存 int8 類型的值。 |
Stind.I2 |
在所提供的地址儲存 int16 類型的值。 |
Stind.I4 |
在所提供的地址儲存 int32 類型的值。 |
Stind.I8 |
在所提供的地址儲存 int64 類型的值。 |
Stind.R4 |
在所提供的地址儲存 float32 類型的值。 |
Stind.R8 |
在所提供的地址儲存 float64 類型的值。 |
Stind.Ref |
儲存所提供地址處的對象引用值。 |
Stloc |
從計算堆棧的頂部彈出當前值並將其儲存到指定索引處的局部變數列表中。 |
Stloc.0 |
從計算堆棧的頂部彈出當前值並將其儲存到索引 0 處的局部變數列表中。 |
Stloc.1 |
從計算堆棧的頂部彈出當前值並將其儲存到索引 1 處的局部變數列表中。 |
Stloc.2 |
從計算堆棧的頂部彈出當前值並將其儲存到索引 2 處的局部變數列表中。 |
Stloc.3 |
從計算堆棧的頂部彈出當前值並將其儲存到索引 3 處的局部變數列表中。 |
Stloc.S |
從計算堆棧的頂部彈出當前值並將其儲存在局部變數列表中的 index 處(短格式)。 |
Stobj |
將指定類型的值從計算堆棧複製到所提供的記憶體位址中。 |
Stsfld |
用來自計算堆棧的值替換靜態欄位的值。 |
Sub |
從其他值中減去一個值並將結果推送到計算堆棧上。 |
Sub.Ovf |
從另一值中減去一個整數值,執行溢出檢查,並且將結果推送到計算堆棧上。 |
Sub.Ovf.Un |
從另一值中減去一個不帶正負號的整數值,執行溢出檢查,並且將結果推送到計算堆棧上。 |
Switch |
實現跳轉表。 |
Tailcall |
執行尾碼的方法調用指令,以便在執行實際調用指令前移除當前方法的堆疊框架。 |
Throw |
引發當前位於計算堆棧上的異常對象。 |
Unaligned |
指示當前位於計算堆棧上的地址可能沒有與緊接的 ldind、stind、ldfld、stfld、ldobj、stobj、initblk 或 cpblk 指令的自然大小對齊。 |
Unbox |
將實值型別的已裝箱的表示形式轉換為其未裝箱的形式。 |
Unbox.Any |
將指令中指定類型的已裝箱的表示形式轉換成未裝箱形式。 |
Volatile |
指定當前位於計算堆棧頂部的地址可以是易失的,並且讀取該位置的結果不能被緩衝,或者對該地址的多個儲存區不能被取消。 |
Xor |
計算位於計算堆棧頂部的兩個值的按位異或,並且將結果推送到計算堆棧上。 |