程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 《C# to IL》第三章 選擇和循環(1)

《C# to IL》第三章 選擇和循環(1)

編輯:關於C語言

-3-

在IL中,標號(label)是一個末尾帶有冒號(即:)的名稱。它使我們能夠從代碼的一部 分無條件地跳轉到另一部分。我們經常在由反編譯器生成的IL代碼中看到這個標號。例如:

IL_0000: ldstr      "hi"
IL_0005: call       void [mscorlib]System.Console::WriteLine(class System.String)
IL_000a: call       void zzz::abc()
IL_000f: ret

在冒號前面的詞就是標號。在下面給出的程序中,我們在函數abc中創建一 個名為a2的標號。指令br用於隨時跳轉到程序中的任何標號。

a.il

.assembly mukhi {}
.class private auto ansi zzz extends System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
.locals (int32 V_0,class zzz V_1)
newobj instance void zzz::.ctor()
stloc.1
call int32 zzz::abc()
stloc.0
ldloc.0
call void [mscorlib]System.Console::WriteLine(int32)
ret
}
.method private hidebysig static int32 abc() il managed
{
.locals (int32 V_0)
ldc.i4.s   20
br.s a2
ldc.i4.s   30
a2: ret
}
}

Output

20

-
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved