概要

カレントインスタンスを参照します

書式

ldarg.0

または

ldarg 0


カレントインスタンスのメンバ関数を呼び出してみます

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 
 
 
 
 
-
|
|
|
|
|
|
|
|
!
 
 
 
-
|
|
-
|
|
|
|
|
!
|
|
-
|
|
|
|
|
!
!
//アセンブリマニフェスト
.assembly test{}
 
// エントリポイントとなる関数
.method static void Main()
{
    // エントリポイントの宣言
    .entrypoint
    
    // Botクラスのインスタンスを生成
    newobj instance void Bot::.ctor()    // インスタンスの生成
    pop    // 生成したけど使わないので放棄
 
    ret
}
 
// クラスの定義
.class Bot
{
    // エントリポイントとなる関数
    .method public void .ctor()
    {
        // カレントインスタンスのtalk()メソッドを呼び出す
        ldarg.0 // カレントインスタンスへの参照をスタックにpush
        call instance void Bot::talk() // メンバ関数talk()の呼び出し
 
        ret
    }
 
    .method public void talk()
    {
        // コンソールにhelloと表示
        ldstr "hello" // 文字列"hello"をスタックにpush
        call    void [mscorlib]System.Console::WriteLine( string ) // 標準出力に出力
 
        ret
    }
}

C#では・・・ :

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 
-
|
!
 
 
-
|
-
|
!
|
|
-
|
!
!
void main()
{
    new Bot();
}
 
class Bot
{
    public Bot()
    {
        this.talk();
    }
 
    public void talk()
    {
        System.Console.WriteLine("hello");
    }
}


参照


トップ 編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード 新規 一覧 単語検索 最終更新 リンク元 ヘルプ 最終更新のRSS xenowire
Last-modified: Mon, 27 Jul 2009 03:06:21 JST