.NET中常见的 IL 指令集
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、IL中常見的符號
?
?
?
二、.NET中常見的 IL 指令集
?
?
| 名稱 | 說明 |
| Add | 將兩個值相加并將結(jié)果推送到計算堆棧上。 |
| Add.Ovf | 將兩個整數(shù)相加,執(zhí)行溢出檢查,并且將結(jié)果推送到計算堆棧上。 |
| Add.Ovf.Un | 將兩個無符號整數(shù)值相加,執(zhí)行溢出檢查,并且將結(jié)果推送到計算堆棧上。 |
| And | 計算兩個值的按位“與”并將結(jié)果推送到計算堆棧上。 |
| Arglist | 返回指向當(dāng)前方法的參數(shù)列表的非托管指針。 |
| Beq | 如果兩個值相等,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Beq.S | 如果兩個值相等,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Bge | 如果第一個值大于或等于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Bge.S | 如果第一個值大于或等于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Bge.Un | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Bge.Un.S | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Bgt | 如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Bgt.S | 如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Bgt.Un | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Bgt.Un.S | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值大于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Ble | 如果第一個值小于或等于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Ble.S | 如果第一個值小于或等于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Ble.Un | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值小于或等于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Ble.Un.S | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)值時,如果第一個值小于或等于第二個值,則將控制權(quán)轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Blt | 如果第一個值小于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Blt.S | 如果第一個值小于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Blt.Un | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值小于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Blt.Un.S | 當(dāng)比較無符號整數(shù)值或不可排序的浮點(diǎn)型值時,如果第一個值小于第二個值,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Bne.Un | 當(dāng)兩個無符號整數(shù)值或不可排序的浮點(diǎn)型值不相等時,將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Bne.Un.S | 當(dāng)兩個無符號整數(shù)值或不可排序的浮點(diǎn)型值不相等時,將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Box | 將值類轉(zhuǎn)換為對象引用(O 類型)。 |
| Br | 無條件地將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Br.S | 無條件地將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Break | 向公共語言結(jié)構(gòu) (CLI) 發(fā)出信號以通知調(diào)試器已撞上了一個斷點(diǎn)。 |
| Brfalse | 如果 value 為 false、空引用(Visual Basic 中的 Nothing)或零,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Brfalse.S | 如果 value 為 false、空引用或零,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Brtrue | 如果 value 為 true、非空或非零,則將控制轉(zhuǎn)移到目標(biāo)指令。 |
| Brtrue.S | 如果 value 為 true、非空或非零,則將控制轉(zhuǎn)移到目標(biāo)指令(短格式)。 |
| Call | 調(diào)用由傳遞的方法說明符指示的方法。 |
| Calli | 通過調(diào)用約定描述的參數(shù)調(diào)用在計算堆棧上指示的方法(作為指向入口點(diǎn)的指針)。 |
| Callvirt | 對對象調(diào)用后期綁定方法,并且將返回值推送到計算堆棧上。 |
| Castclass | 嘗試將引用傳遞的對象轉(zhuǎn)換為指定的類。 |
| Ceq | 比較兩個值。如果這兩個值相等,則將整數(shù)值 1 (int32) 推送到計算堆棧上;否則,將 0 (int32) 推送到計算堆棧上。 |
| Cgt | 比較兩個值。如果第一個值大于第二個值,則將整數(shù)值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
| Cgt.Un | 比較兩個無符號的或不可排序的值。如果第一個值大于第二個值,則將整數(shù)值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
| Ckfinite | 如果值不是有限數(shù),則引發(fā) ArithmeticException。 |
| Clt | 比較兩個值。如果第一個值小于第二個值,則將整數(shù)值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。 |
| Clt.Un | 比較無符號的或不可排序的值 value1 和 value2。如果 value1 小于 value2,則將整數(shù)值 1 (int32 ) 推送到計算堆棧上;反之,將 0 ( int32 ) 推送到計算堆棧上。 |
?
參考資料:.NET中常見的 IL 指令集? http://www.studyofnet.com/news/1242.html
?
轉(zhuǎn)載于:https://my.oschina.net/u/2428791/blog/689614
總結(jié)
以上是生活随笔為你收集整理的.NET中常见的 IL 指令集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos6.5安装maven
- 下一篇: Ubuntu 16.04 下安装Fire