c#的逆向工程-IL指令集

來源:互聯網
上載者:User

一些 IL 語言解釋:

 跳轉指令集合

Public field Static     Beq     如果兩個值相等,則將控制轉移到目標指令。
Public field Static     Beq_S     如果兩個值相等,則將控制轉移到目標指令(短格式)。
Public field Static     Bge     如果第一個值大於或等於第二個值,則將控制轉移到目標指令。
Public field Static     Bge_S     如果第一個值大於或等於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Bge_Un     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制   轉移到目標指令。
Public field Static     Bge_Un_S     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Bgt     如果第一個值大於第二個值,則將控制轉移到目標指令。
Public field Static     Bgt_S     如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Bgt_Un     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令。
Public field Static     Bgt_Un_S     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值大於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Ble     如果第一個值小於或等於第二個值,則將控制轉移到目標指令。
Public field Static     Ble_S     如果第一個值小於或等於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Ble_Un     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於或等於第二個值,則將控制轉移到目標指令。
Public field Static     Ble_Un_S     當比較不帶正負號的整數值或不可排序的浮點值時,如果第一個值小於或等於第二個值,則將控制權轉移到目標指令(短格式)。
Public field Static     Blt     如果第一個值小於第二個值,則將控制轉移到目標指令。
Public field Static     Blt_S     如果第一個值小於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Blt_Un     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於第二個值,則將控制轉移到目標指令。
Public field Static     Blt_Un_S     當比較不帶正負號的整數值或不可排序的浮點型值時,如果第一個值小於第二個值,則將控制轉移到目標指令(短格式)。
Public field Static     Bne_Un     當兩個不帶正負號的整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令。
Public field Static     Bne_Un_S     當兩個不帶正負號的整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令(短格式)。
Public field Static     Br     無條件地將控制轉移到目標指令。
Public field Static     Br_S     無條件地將控制轉移到目標指令(短格式)。
Public field Static     Brfalse     如果 value 為 false、Null 參考(Visual Basic 中的 Nothing)或零,則將控制轉移到目標指令。
Public field Static     Brfalse_S     如果 value 為 false、Null 參考或零,則將控制轉移到目標指令。
Public field Static     Brtrue     如果 value 為 true、非空或非零,則將控制轉移到目標指令。
Public field Static     Brtrue_S     如果 value 為 true、非空或非零,則將控制轉移到目標指令(短格式)。
比較指令集合
Public field Static     Ceq     比較兩個值。如果這兩個值相等,則將整數值 1 (int32) 推送到計算堆棧上;否則,將 0 (int32) 推送到計算堆棧上。
Public field Static     Cgt     比較兩個值。如果第一個值大於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Public field Static     Cgt_Un     比較兩個無符號的或不可排序的值。如果第一個值大於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Public field Static     Clt     比較兩個值。如果第一個值小於第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Public field Static     Clt_Un     比較無符號的或不可排序的值 value1 和 value2。如果 value1 小於 value2,則將整數值 1 (int32 ) 推送到計算堆棧上;反之,將 0 ( int32 ) 推送到計算堆棧上。

Public field Static     Jmp     退出當前方法並跳至指定方法。

 

      名稱       說明
Public field Static     Add     將兩個值相加並將結果推送到計算堆棧上。
Public field Static     Add_Ovf     將兩個整數相加,執行溢出檢查,並且將結果推送到計算堆棧上。
Public field Static     Add_Ovf_Un     將兩個不帶正負號的整數值相加,執行溢出檢查,並且將結果推送到計算堆棧上。
Public field Static     And     計算兩個值的按位“與”並將結果推送到計算堆棧上。
Public field Static     Arglist     返回指向當前方法的參數列表的非託管指標。

Public field Static     Box     將值類轉換為對象引用(O 類型)。
Public field Static     Break     向公用語言結構 (CLI) 發出訊號以通知調試器已撞上了一個斷點。
Public field Static     Call     調用由傳遞的方法說明符指示的方法。
Public field Static     Calli     通過呼叫慣例描述的參數調用在計算堆棧上指示的方法(作為指向進入點的指標)。
Public field Static     Callvirt     對對象調用後期Binder 方法,並且將傳回值推送到計算堆棧上。
Public field Static     Castclass     嘗試將引用傳遞的對象轉換為指定的類。
Public field Static     Ckfinite     如果值不是有限數,則引發 ArithmeticException。

Public field Static     Constrained     約束要對其進行虛方法調用的類型。
Public field Static     Conv_I     將位於計算堆棧頂部的值轉換為 natural int。
Public field Static     Conv_I1     將位於計算堆棧頂部的值轉換為 int8,然後將其擴充(填充)為 int32。
Public field Static     Conv_I2     將位於計算堆棧頂部的值轉換為 int16,然後將其擴充(填充)為 int32。
Public field Static     Conv_I4     將位於計算堆棧頂部的值轉換為 int32。
Public field Static     Conv_I8     將位於計算堆棧頂部的值轉換為 int64。
Public field Static     Conv_Ovf_I     將位於計算堆棧頂部的有符號值轉換為有符號 natural int,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I_Un     將位於計算堆棧頂部的無符號值轉換為有符號 natural int,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I1     將位於計算堆棧頂部的有符號值轉換為有符號 int8 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I1_Un     將位於計算堆棧頂部的無符號值轉換為有符號 int8 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I2     將位於計算堆棧頂部的有符號值轉換為有符號 int16 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I2_Un     將位於計算堆棧頂部的無符號值轉換為有符號 int16 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I4     將位於計算堆棧頂部的有符號值轉換為有符號 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I4_Un     將位於計算堆棧頂部的無符號值轉換為有符號 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I8     將位於計算堆棧頂部的有符號值轉換為有符號 int64,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_I8_Un     將位於計算堆棧頂部的無符號值轉換為有符號 int64,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U     將位於計算堆棧頂部的有符號值轉換為 unsigned natural int,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U_Un     將位於計算堆棧頂部的無符號值轉換為 unsigned natural int,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U1     將位於計算堆棧頂部的有符號值轉換為 unsigned int8 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U1_Un     將位於計算堆棧頂部的無符號值轉換為 unsigned int8 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U2     將位於計算堆棧頂部的有符號值轉換為 unsigned int16 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U2_Un     將位於計算堆棧頂部的無符號值轉換為 unsigned int16 並將其擴充為 int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U4     將位於計算堆棧頂部的有符號值轉換為 unsigned int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U4_Un     將位於計算堆棧頂部的無符號值轉換為 unsigned int32,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U8     將位於計算堆棧頂部的有符號值轉換為 unsigned int64,並在溢出時引發 OverflowException。
Public field Static     Conv_Ovf_U8_Un     將位於計算堆棧頂部的無符號值轉換為 unsigned int64,並在溢出時引發 OverflowException。
Public field Static     Conv_R_Un     將位於計算堆棧頂部的不帶正負號的整數值轉換為 float32。
Public field Static     Conv_R4     將位於計算堆棧頂部的值轉換為 float32。
Public field Static     Conv_R8     將位於計算堆棧頂部的值轉換為 float64。
Public field Static     Conv_U     將位於計算堆棧頂部的值轉換為 unsigned natural int,然後將其擴充為 natural int。
Public field Static     Conv_U1     將位於計算堆棧頂部的值轉換為 unsigned int8,然後將其擴充為 int32。
Public field Static     Conv_U2     將位於計算堆棧頂部的值轉換為 unsigned int16,然後將其擴充為 int32。
Public field Static     Conv_U4     將位於計算堆棧頂部的值轉換為 unsigned int32,然後將其擴充為 int32。
Public field Static     Conv_U8     將位於計算堆棧頂部的值轉換為 unsigned int64,然後將其擴充為 int64。
Public field Static     Cpblk     將指定數目的位元組從源地址複製到目標地址。
Public field Static     Cpobj     將位於對象(&、* 或 natural int 類型)地址的實值型別複製到目標對象(&、* 或 natural int 類型)的地址。
Public field Static     Div     將兩個值相除並將結果作為浮點(F 類型)或商(int32 類型)推送到計算堆棧上。
Public field Static     Div_Un     兩個不帶正負號的整數值相除並將結果 ( int32 ) 推送到計算堆棧上。
Public field Static     Dup     複製計算堆棧上當前最頂端的值,然後將副本推送到計算堆棧上。
Public field Static     Endfilter     將控制從異常的 filter 子句轉移回公用語言結構 (CLI) 例外處理常式。
Public field Static     Endfinally     將控制從異常塊的 fault 或 finally 子句轉移回公用語言結構 (CLI) 例外處理常式。
Public field Static     Initblk     將位於特定地址的記憶體的指定塊初始化為給定大小和初始值。
Public field Static     Initobj     將位於指定地址的對象的所有欄位初始化為空白引用或適當的基元類型的 0。
Public field Static     Isinst     測試對象引用(O 類型)是否為特定類的執行個體。
Public field Static     Ldarg     將參數(由指定索引值引用)載入到堆棧上。
Public field Static     Ldarg_0     將索引為 0 的參數載入到計算堆棧上。
Public field Static     Ldarg_1     將索引為 1 的參數載入到計算堆棧上。
Public field Static     Ldarg_2     將索引為 2 的參數載入到計算堆棧上。
Public field Static     Ldarg_3     將索引為 3 的參數載入到計算堆棧上。
Public field Static     Ldarg_S     將參數(由指定的短格式索引引用)載入到計算堆棧上。
Public field Static     Ldarga     將參數地址載入到計算堆棧上。
Public field Static     Ldarga_S     以短格式將參數地址載入到計算堆棧上。
Public field Static     Ldc_I4     將所提供的 int32 類型的值作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_0     將整數值 0 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_1     將整數值 1 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_2     將整數值 2 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_3     將整數值 3 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_4     將整數值 4 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_5     將整數值 5 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_6     將整數值 6 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_7     將整數值 7 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_8     將整數值 8 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_M1     將整數值 -1 作為 int32 推送到計算堆棧上。
Public field Static     Ldc_I4_S     將提供的 int8 值作為 int32 推送到計算堆棧上(短格式)。
Public field Static     Ldc_I8     將所提供的 int64 類型的值作為 int64 推送到計算堆棧上。
Public field Static     Ldc_R4     將所提供的 float32 類型的值作為 F (float) 類型推送到計算堆棧上。
Public field Static     Ldc_R8     將所提供的 float64 類型的值作為 F (float) 類型推送到計算堆棧上。
Public field Static     Ldelem     按照指令中指定的類型,將指定數組索引中的元素載入到計算堆棧的頂部。
Public field Static     Ldelem_I     將位於指定數組索引處的 natural int 類型的元素作為 natural int 載入到計算堆棧的頂部。
Public field Static     Ldelem_I1     將位於指定數組索引處的 int8 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelem_I2     將位於指定數組索引處的 int16 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelem_I4     將位於指定數組索引處的 int32 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelem_I8     將位於指定數組索引處的 int64 類型的元素作為 int64 載入到計算堆棧的頂部。
Public field Static     Ldelem_R4     將位於指定數組索引處的 float32 類型的元素作為 F 類型(浮點型)載入到計算堆棧的頂部。
Public field Static     Ldelem_R8     將位於指定數組索引處的 float64 類型的元素作為 F 類型(浮點型)載入到計算堆棧的頂部。
Public field Static     Ldelem_Ref     將位於指定數組索引處的包含對象引用的元素作為 O 類型(對象引用)載入到計算堆棧的頂部。
Public field Static     Ldelem_U1     將位於指定數組索引處的 unsigned int8 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelem_U2     將位於指定數組索引處的 unsigned int16 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelem_U4     將位於指定數組索引處的 unsigned int32 類型的元素作為 int32 載入到計算堆棧的頂部。
Public field Static     Ldelema     將位於指定數組索引的數組元素的地址作為 & 類型(託管指標)載入到計算堆棧的頂部。
Public field Static     Ldfld     尋找對象中其引用當前位於計算堆棧的欄位的值。
Public field Static     Ldflda     尋找對象中其引用當前位於計算堆棧的欄位的地址。
Public field Static     Ldftn     將指向實現特定方法的機器碼的非託管指標(natural int 類型)推送到計算堆棧上。
Public field Static     Ldind_I     將 natural int 類型的值作為 natural int 間接載入到計算堆棧上。
Public field Static     Ldind_I1     將 int8 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldind_I2     將 int16 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldind_I4     將 int32 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldind_I8     將 int64 類型的值作為 int64 間接載入到計算堆棧上。
Public field Static     Ldind_R4     將 float32 類型的值作為 F (float) 類型間接載入到計算堆棧上。
Public field Static     Ldind_R8     將 float64 類型的值作為 F (float) 類型間接載入到計算堆棧上。
Public field Static     Ldind_Ref     將對象引用作為 O(對象引用)類型間接載入到計算堆棧上。
Public field Static     Ldind_U1     將 unsigned int8 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldind_U2     將 unsigned int16 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldind_U4     將 unsigned int32 類型的值作為 int32 間接載入到計算堆棧上。
Public field Static     Ldlen     將從零開始的、一維數組的元素的數目推送到計算堆棧上。
Public field Static     Ldloc     將指定索引處的局部變數載入到計算堆棧上。
Public field Static     Ldloc_0     將索引 0 處的局部變數載入到計算堆棧上。
Public field Static     Ldloc_1     將索引 1 處的局部變數載入到計算堆棧上。
Public field Static     Ldloc_2     將索引 2 處的局部變數載入到計算堆棧上。
Public field Static     Ldloc_3     將索引 3 處的局部變數載入到計算堆棧上。
Public field Static     Ldloc_S     將特定索引處的局部變數載入到計算堆棧上(短格式)。
Public field Static     Ldloca     將位於特定索引處的局部變數的地址載入到計算堆棧上。
Public field Static     Ldloca_S     將位於特定索引處的局部變數的地址載入到計算堆棧上(短格式)。
Public field Static     Ldnull     將Null 參考(O 類型)推送到計算堆棧上。
Public field Static     Ldobj     將地址指向的實值型別對象複製到計算堆棧的頂部。
Public field Static     Ldsfld     將靜態欄位的值推送到計算堆棧上。
Public field Static     Ldsflda     將靜態欄位的地址推送到計算堆棧上。
Public field Static     Ldstr     推送對中繼資料中儲存的字串的新對象引用。
Public field Static     Ldtoken     將中繼資料標記轉換為其運行時表示形式,並將其推送到計算堆棧上。
Public field Static     Ldvirtftn     將指向實現與指定對象關聯的特定虛方法的機器碼的非託管指標(natural int 類型)推送到計算堆棧上。
Public field Static     Leave     退出受保護的代碼地區,無條件將控制轉移到特定目標指令。
Public field Static     Leave_S     退出受保護的代碼地區,無條件將控制轉移到目標指令(縮寫形式)。
Public field Static     Localloc     從本地動態記憶體池分配特定數目的位元組並將第一個分配的位元組的地址(瞬態指標,* 類型)推送到計算堆棧上。
Public field Static     Mkrefany     將對特定類型執行個體的類型化引用推送到計算堆棧上。
Public field Static     Mul     將兩個值相乘並將結果推送到計算堆棧上。
Public field Static     Mul_Ovf     將兩個整數值相乘,執行溢出檢查,並將結果推送到計算堆棧上。
Public field Static     Mul_Ovf_Un     將兩個不帶正負號的整數值相乘,執行溢出檢查,並將結果推送到計算堆棧上。
Public field Static     Neg     對一個值執行求反並將結果推送到計算堆棧上。
Public field Static     Newarr     將對新的從零開始的一維數組(其元素屬於特定類型)的對象引用推送到計算堆棧上。
Public field Static     Newobj     建立一個實值型別的新對象或新執行個體,並將對象引用(O 類型)推送到計算堆棧上。
Public field Static     Nop     如果修補作業碼,則填充空間。儘管可能消耗處理周期,但未執行任何有意義的操作。
Public field Static     Not     計算堆棧頂部整數值的按位求補並將結果作為相同的類型推送到計算堆棧上。
Public field Static     Or     計算位於堆棧頂部的兩個整數值的按位求補並將結果推送到計算堆棧上。
Public field Static     Pop     移除當前位於計算堆棧頂部的值。
Public field Static     Prefix1     此指令為保留指令。
Public field Static     Prefix2     此指令為保留指令。
Public field Static     Prefix3     此指令為保留指令。
Public field Static     Prefix4     此指令為保留指令。
Public field Static     Prefix5     此指令為保留指令。
Public field Static     Prefix6     此指令為保留指令。
Public field Static     Prefix7     此指令為保留指令。
Public field Static     Prefixref     此指令為保留指令。
Public field Static     Readonly     指定後面的數組地址操作在運行時不執行類型檢查,並且返回可變性受限的託管指標。
Public field Static     Refanytype     檢索嵌入在類型化引用內的類型標記。
Public field Static     Refanyval     檢索嵌入在類型化引用內的地址(& 類型)。
Public field Static     Rem     將兩個值相除並將餘數推送到計算堆棧上。
Public field Static     Rem_Un     將兩個無符號值相除並將餘數推送到計算堆棧上。
Public field Static     Ret     從當前方法返回,並將傳回值(如果存在)從調用方的計算堆棧推送到被呼叫者的計算堆棧上。
Public field Static     Rethrow     再次引發當前異常。
Public field Static     Shl     將整數值左移(用零填充)指定的位元,並將結果推送到計算堆棧上。
Public field Static     Shr     將整數值右移(保留符號)指定的位元,並將結果推送到計算堆棧上。
Public field Static     Shr_Un     將不帶正負號的整數值右移(用零填充)指定的位元,並將結果推送到計算堆棧上。
Public field Static     Sizeof     將提供的實值型別的大小(以位元組為單位)推送到計算堆棧上。
Public field Static     Starg     將位於計算堆棧頂部的值儲存到位於指定索引的參數槽中。
Public field Static     Starg_S     將位於計算堆棧頂部的值儲存在參數槽中的指定索引處(短格式)。
Public field Static     Stelem     用計算堆棧中的值替換給定索引處的數組元素,其類型在指令中指定。
Public field Static     Stelem_I     用計算堆棧上的 natural int 值替換給定索引處的數組元素。
Public field Static     Stelem_I1     用計算堆棧上的 int8 值替換給定索引處的數組元素。
Public field Static     Stelem_I2     用計算堆棧上的 int16 值替換給定索引處的數組元素。
Public field Static     Stelem_I4     用計算堆棧上的 int32 值替換給定索引處的數組元素。
Public field Static     Stelem_I8     用計算堆棧上的 int64 值替換給定索引處的數組元素。
Public field Static     Stelem_R4     用計算堆棧上的 float32 值替換給定索引處的數組元素。
Public field Static     Stelem_R8     用計算堆棧上的 float64 值替換給定索引處的數組元素。
Public field Static     Stelem_Ref     用計算堆棧上的對象 ref 值(O 類型)替換給定索引處的數組元素。
Public field Static     Stfld     用新值替換在對象引用或指標的欄位中儲存的值。
Public field Static     Stind_I     在所提供的地址儲存 natural int 類型的值。
Public field Static     Stind_I1     在所提供的地址儲存 int8 類型的值。
Public field Static     Stind_I2     在所提供的地址儲存 int16 類型的值。
Public field Static     Stind_I4     在所提供的地址儲存 int32 類型的值。
Public field Static     Stind_I8     在所提供的地址儲存 int64 類型的值。
Public field Static     Stind_R4     在所提供的地址儲存 float32 類型的值。
Public field Static     Stind_R8     在所提供的地址儲存 float64 類型的值。
Public field Static     Stind_Ref     儲存所提供地址處的對象引用值。
Public field Static     Stloc     從計算堆棧的頂部彈出當前值並將其儲存到指定索引處的局部變數列表中。
Public field Static     Stloc_0     從計算堆棧的頂部彈出當前值並將其儲存到索引 0 處的局部變數列表中。
Public field Static     Stloc_1     從計算堆棧的頂部彈出當前值並將其儲存到索引 1 處的局部變數列表中。
Public field Static     Stloc_2     從計算堆棧的頂部彈出當前值並將其儲存到索引 2 處的局部變數列表中。
Public field Static     Stloc_3     從計算堆棧的頂部彈出當前值並將其儲存到索引 3 處的局部變數列表中。
Public field Static     Stloc_S     從計算堆棧的頂部彈出當前值並將其儲存在局部變數列表中的 index 處(短格式)。
Public field Static     Stobj     將指定類型的值從計算堆棧複製到所提供的記憶體位址中。
Public field Static     Stsfld     用來自計算堆棧的值替換靜態欄位的值。
Public field Static     Sub     從其他值中減去一個值並將結果推送到計算堆棧上。
Public field Static     Sub_Ovf     從另一值中減去一個整數值,執行溢出檢查,並且將結果推送到計算堆棧上。
Public field Static     Sub_Ovf_Un     從另一值中減去一個不帶正負號的整數值,執行溢出檢查,並且將結果推送到計算堆棧上。
Public field Static     Switch     實現跳轉表。
Public field Static     Tailcall     執行尾碼的方法調用指令,以便在執行實際調用指令前移除當前方法的堆疊框架。
Public field Static     Throw     引發當前位於計算堆棧上的異常對象。
Public field Static     Unaligned     指示當前位於計算堆棧上的地址可能沒有與緊接的 ldind、stind、ldfld、stfld、ldobj、stobj、initblk 或 cpblk 指令的自然大小對齊。
Public field Static     Unbox     將實值型別的已裝箱的表示形式轉換為其未裝箱的形式。
Public field Static     Unbox_Any     將指令中指定類型的已裝箱的表示形式轉換成未裝箱形式。
Public field Static     Volatile     指定當前位於計算堆棧頂部的地址可以是易失的,並且讀取該位置的結果不能被緩衝,或者對該地址的多個儲存區不能被取消。

Public field Static     Xor     計算位於計算堆棧頂部的兩個值的按位異或,並且將結果推送到計算堆棧上。

 

原文地址:http://www.cnblogs.com/davyjiang/articles/1337400.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.